hadoop记录篇9-cm5安装zookeeper,hadoop,yarn,hive
一。 CDH安装hadoop
CDH安装教程参考 (https://blog.csdn.net/liaomin416100569/article/details/80019323) 安装过程是从cdh离线安装完成尚未在cdh admin控制台 进行任何操作 (注意版本 之前文章使用 5.5.6 这里使用版本 5.7.2)
进入 首页 http://192.168.58.133:7180/ 输入admin/admin 进入后 同意协议
版本选择中选择 Cloudera Express (免费版)
接下来 列出所有cdh支持的软件包
将安装此安装程序Cloudera Express5.7.2,您可以稍后通过此安装程序选择以下服务的软件包(可能会涉及到许可证)。
Apache Hadoop(Common、HDFS、MapReduce、YARN)
Apache HBase
Apache ZooKeeper
Apache Oozie
Apache Hive
Hue(已获 Apache 许可)
Apache Flume
Cloudera Impala(许可的 Apache)
Apache Sentry
Apache Sqoop
Cloudera Search(许可的 Apache)
Apache Spark
您正在使用 Cloudera Manager 安装和配置您的系统。您可以通过单击上面的支持菜单了解更多有关 Cloudera Manager 的信息。
接下来 配置过agent的被管理的主机选择cdh版本(奇怪 我这里是5.7.2为啥是5.7.6了 我下载的parcel也是5.7.2不能白下啊 )
我的parce路径 (默认将parcel parcel.sha1 json都存放在 /opt/cloudera/parcel-repo目录下):
[root@cdh1 parcel-repo]# pwd
/opt/cloudera/parcel-repo
[root@cdh1 parcel-repo]# ll
total 1414964
drwxr-xr-x 2 root root 4096 Apr 23 16:17 5.7.2
-rw-r--r-- 1 root root 1448796525 Apr 23 15:16 CDH-5.7.6-1.cdh5.7.6.p0.6-el7.parcel
-rw-r--r-- 1 root root 41 Apr 23 16:25 CDH-5.7.6-1.cdh5.7.6.p0.6-el7.parcel.sha
-rw-r--r-- 1 root root 41 Apr 23 15:02 CDH-5.7.6-1.cdh5.7.6.p0.6-el7.parcel.sha1
-rw-r----- 1 root root 55444 Apr 23 16:26 CDH-5.7.6-1.cdh5.7.6.p0.6-el7.parcel.torrent
-rw-r--r-- 1 root root 49962 Apr 23 16:37 manifest.json
点击更多选项按钮
将后面的{latest_supported}/ 替换成当前版本 5.7.2/
点击确定按钮后 看到正确的版本
选择第一个点击下一步
既然说 5.7.6是稳定版本 那就下载一个 5.7.6的parcel( http://archive.cloudera.com/cdh5/parcels/5.7.6) 选择5.7.6的cdh
这里注意一点 (一定要将 CDH-5.7.6-1.cdh5.7.6.p0.6-el7.parcel.sha1 重命名为 CDH-5.7.6-1.cdh5.7.6.p0.6-el7.parcel.sha)否则他会重新下载cdh包
界面上1% 一直累加所有 parcel包有问题 一次性到100%正常
注意parcel包 需要解压等其他操作 所有机器需要安装第三方安装库
yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs redhat-lsb
如果你不安装这些命令 有可能在配置部署客户端(hdfs命令 impala-shell命令等就是客户端 (命令读取默认配置文件等))时 报错 比如
Deploy Client Configuration failed.全部 只会失败 仅限运行状态 详细信息 已完成 1 个步骤(共 1 个)。步骤 上下文
开始时间 持续时间 操作生成并部署客户端配置。 仅完成 0/4 个步骤。首个失败:主机 node3 (id=2) 上的客户端配置 (id=7) 已使用 127 退出,而预期值为 0。
错误图:一般错误 可以查看日志文件路径:/opt/cloudera-manager/cm-5.7.2/run/cloudera-scm-agent/process/最后一个/logs
可以看到最后错误 判断是没有安装 perl 这里我也纠结半天
/opt/cloudera-manager/cm-5.7.2/lib64/cmf/service/client/deploy-cc.sh: line 115: perl: command not found
这里解压 激活 整个过程 大概持续5-20分钟左右吧 等吧 接下来
检查主机正确性 (等待就不截图了)
群集设置 选择你要安装的服务 我选择核心服务 也可以自定义接下来 进行集群的角色分配 比如hdfs中的namenode 和datanode的分配 其他组件的分配 我这里 就将datanode选全部其他默认注意下面图的Cloudera Management Service会监控所有主机状态 如果配置在cdh2上 我2G的机器 至少占到1.3G其他的服务建议都不要再安装在这台机器 否则出现问题 要么加大内容要么重开一台虚拟机吧
接下来配置数据库 (hive和oozie的元数据)注意 每一台机器的 /usr/share/java 都需要有mysql的驱动类 mysql-connector-java.jar
必须给hive和oozie分别参加一个账户
MariaDB [(none)]> grant all on *.* to hive identified by 'hive';
Query OK, 0 rows affected (0.10 sec)
MariaDB [(none)]> grant all on *.* to oozie identified by 'oozie';
Query OK, 0 rows affected (0.00 sec)
参加两个数据库MariaDB [(none)]> create database hive;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> create database oozie;
Query OK, 1 row affected (0.00 sec)
界面指定(数据库服务器 已经创建的数据库 及用户名密码 不能使用root )接下来 各组件的配置 比如namenode和datanode的位置等 默认值即可
安装完成后 由于安装了太多服务 基本 我16G的笔记本处于占用 12G内存的状态 为了测试正常 我的重新分配下机器 进入
集群主界面 将所有的服务都删除
界面查看一般会出现 host monitor时发生内部错误
一般是你安装的Cloudera Managerment Service 有几个参数错误 一般解决访问修改建议参数重启该服务
点击进入修改
重启服务
zookeeper是分布式调度和配置中心 应该先被安装
集群上 添加服务
接下来选择服务类型 选择zookeeper
接下来添加角色分配 也就是选择哪台主机 选择cdh3
接下来 配置数据目录和事务日志目录 默认即可
然后等待初始化完成和启动
界面上查看启动日志 可以知道zookeeper的安装目录
点击主机 所有 主机 查看cdh3 占用系统资源很少
当然我这里只是单机的zookeeper是不对的 应该安装的时候最少三台以上机器
点击主页zookeeper连接进入 查看zookeeper的图标 以及服务器(或者点击工具栏 实例)
点击命令 - 最近的命令
点击启动 可以查看所有命令的日志
根据日志进入 进入zookeeper_home
[root@cdh3 init.d]# cd /opt/cloudera/parcels/CDH-5.7.6-1.cdh5.7.6.p0.6/lib/zookeeper
进入bin目录[root@cdh3 zookeeper]# cd bin
[root@cdh3 bin]# ll
total 28
-rwxr-xr-x 1 root root 1909 Feb 21 2017 zkCleanup.sh
-rwxr-xr-x 1 root root 1512 Feb 21 2017 zkCli.sh
-rwxr-xr-x 1 root root 2599 Feb 21 2017 zkEnv.sh
-rwxr-xr-x 1 root root 4559 Feb 21 2017 zkServer-initialize.sh
-rwxr-xr-x 1 root root 6246 Feb 21 2017 zkServer.sh
使用zkCli.sh执行创建节点查看节点等命令
[zk: localhost:2181(CONNECTED) 0] create /a hello
Created /a
[zk: localhost:2181(CONNECTED) 1] get /a
hello
cZxid = 0x55
ctime = Mon Apr 23 19:24:51 PDT 2018
mZxid = 0x55
mtime = Mon Apr 23 19:24:51 PDT 2018
pZxid = 0x55
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 5
numChildren = 0
[zk: localhost:2181(CONNECTED) 2]
正常 。。。。。。。。二 。CDH安装hadoop
1》安装 hdfs
namenode cdh3
secondnamenode cdh4
datanode chd3 cdh4
安装过程选择 参考zookeeper 安装完成过程 查看创建日志
可知 hdfs安装目录
/opt/cloudera/parcels/CDH-5.7.6-1.cdh5.7.6.p0.6/lib/hadoop-hdfs
查看hdfs(用户是hdfs)
[root@cdh3 bin]# hdfs dfs -ls /
Found 1 items
drwxrwxrwt - hdfs supergroup 0 2018-04-23 19:39 /tmp
执行hdfs创建目录 root没有权限所有者是hdfs [root@cdh3 ~]# hdfs dfs -mkdir /test
mkdir: Permission denied: user=root, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-x
点击hdfs 进入配置搜索权限 将如果需要重新安装hdfs记住清空 数据一些目录
[root@cdh3 ~]# rm -rf /tmp
[root@cdh3 ~]# rm -rf /dfs/dn
[root@cdh3 ~]# rm -rf /dfs/nn
[root@cdh3 ~]# rm -rf /dfs/snn
如果重新创建 失败 添加服务的时候 修改这三个目录的位置 如果需要做hdfs高可用 点击进入hdfs 右侧 设置高可用
进入设置 JournalNode 主机 以及其他设置即可(具体原理参考https://blog.csdn.net/liaomin416100569/article/details/78301242)
进入cdh4 使用命令进入测试
[root@cdh4 soft]# echo aa>a.txt
[root@cdh4 soft]# hdfs dfs -mkdir /test
[root@cdh4 soft]# hdfs dfs -put a.txt /test
[root@cdh4 soft]# hdfs dfs -text a.txt
text: `a.txt': No such file or directory
[root@cdh4 soft]# hdfs dfs -text /test/a.txt
aa
2》安装 yarn 同hdfs 添加yarn服务 选择yarn安装机器 cdh4 设置nodemanager目录
可以点击yarn进入网页 查看mapreduce的ui页面(ResourceManager web UI)
使用java开发时 需要hadoop相关配置 点击右侧菜单 下载客户端配置
三 。CDH安装hive
同上添加服务 设置cdh3中 添加Hive Metastore Server和HiveServer2,配置hive在hdfs的目录
Gateway选择 cdh2-cdh4表示这几台机器也可以使用hive命令操作
安装完成界面 同hdfs 不演示了
在linuxshell使用hive命令 操作参考https://blog.csdn.net/liaomin416100569/article/details/78395266