上一篇,我们从零开始搭建好了ClouderaManager的安装环境。
        接下来,我们开始安装大数据生态组件,并对CDH的一些告警进行调试。

创建集群并安装HDFS服务

        选择功能授权版本 ->> 创建集群 ->> 为集群添加服务

1. 版本选择

1.1 使用默认用户名密码登录CM

用户名:admin
密码:admin

cdh 集群节点扩容 yarn cdh集群部署_大数据

 1.2 登录成功来到环境界面-继续

cdh 集群节点扩容 yarn cdh集群部署_HDFS_02

 1.3 接受许可条款-继续

cdh 集群节点扩容 yarn cdh集群部署_cdh 集群节点扩容 yarn_03

1.4 根据需要选择版本-继续

cdh 集群节点扩容 yarn cdh集群部署_cloudera_04

2. 创建集群

2.1 欢迎页面-继续

cdh 集群节点扩容 yarn cdh集群部署_HDFS_05

 2.2 集群命名-继续

cdh 集群节点扩容 yarn cdh集群部署_HDFS_06

 2.3 扫描需要添加到新集群的主机-继续

        已经被其他集群管理的主机会显式受管状态为"是",同一台主机不能同时加入两个集群。卸载残留可能导致主机的受管状态为"是",需要清理残留。

cdh 集群节点扩容 yarn cdh集群部署_cloudera_07

2.4 设置CM安装使用的本地yum源和使用的Parcel版本

        yum源为上一篇中使用apache http搭建的服务,Prcel中包含CDH所有组件的安装包,Parcel版本于CDH版本一一对应这里使用之前下载好的CDH-6.3.2-1.cdh6.3.2.p0.1605554

cdh 集群节点扩容 yarn cdh集群部署_大数据_08

2.5 勾选为CDH集群各个主机安装JDK

        Cloudera要求使用CDH发行版本对应的JDK版本,上篇当中安装过了,此处可以不勾选安装。

cdh 集群节点扩容 yarn cdh集群部署_cdh 集群节点扩容 yarn_09

 2.6 设置集群SSH连接使用的用户名和密码

         使用root用户进行安装。CDH会在添加服务时自动为每一个服务单独创建用户。

2.7 自动安装jdk、cloudera-manager-daemons、cloudera-manager-agent

 

cdh 集群节点扩容 yarn cdh集群部署_HDFS_10

        如果遇到“主机运行状态不良 ”的提示,或者在扫描主机时发现主机受管,但是在主机页面中删除集群CM信息依旧无效,且“主机运行状态未知”的情况,可在各个节点上进入如下路径/var/lib/cloudera-scm-agent/,删除cm_guid,并重启agent服务。

参考文章:安装CM+CDH 主机运行状况不良完美解决方案

cd /var/lib/cloudera-scm-agent/
ll
rm -rf cm_guid
service cloudera-scm-agent restart

cdh 集群节点扩容 yarn cdh集群部署_HDFS_11

 2.8 下载解压Parcels

cdh 集群节点扩容 yarn cdh集群部署_HDFS_12

2.9 性能测试和问题修复 

cdh 集群节点扩容 yarn cdh集群部署_大数据_13

cdh 集群节点扩容 yarn cdh集群部署_cloudera_14

        我这里提示集群中有多个时区,建立虚拟机时默认时区为EDT时区,为了解绝和MySQL的时区冲突,之前把node0和node0上的MySQL都修改成了CST时区 ,所以这里会有这个报错,只需要修改另外两个虚拟机的时区即可。修改完成和通过检测。

cdh 集群节点扩容 yarn cdh集群部署_cdh 集群节点扩容 yarn_15

 

参考文章:CentOS修改时区和时间

                  centos7 查看、修改系统时间、时区

        这里首先用上海时区替换掉本地的时区文件,查看时间一致,再次检查仍报同样的问题。

cp  /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #这个指令有问题
yes
date

cdh 集群节点扩容 yarn cdh集群部署_系统时间_16

        于是首先查看时区状态,发现node1,node2时区仍为纽约,需要进行修改。

timedatectl status                       #查看时区状态
timedatectl set-timezone Asia/Shanghai   #修改其时区为上海

        查看硬件时间 

hwclock --show

        同步系统时间和硬件时间(系统时间为标准,重启init6/reboot生效) 

hwclock --hctosys

        本地时间写入硬件时间(立即生效)

timedatectl set-local-rtc 1

cdh 集群节点扩容 yarn cdh集群部署_cdh 集群节点扩容 yarn_17

        后阅读这篇文章 【UTC】CentOS7修改时区的正确姿势 发现之前使用cp命令修改时区,可能存在的问题,应该是导致修改后CDH检测仍不通过的原因,暂时没有深入去看。

CentOS7修改时区的正确姿势

        CentOS7上运行Java程序,发现程序生成的时间与当前时间匹配不上,还以为是数据停止更新了,后来发现没有正确使用修改时区的姿势,导致程序时区错误。

        正确的修改CentOS7 时区的姿势:

#   ln -sf /usr/share/zoneinfo/Asia/Shanghai    /etc/localtime

        其他系统的修改文件可能是/var/etc/localtime.

        错误的姿势:通过cp命令覆盖/etc/localtime时间

 #  cp -f /usr/share/zoneinfo/Asia/Shanghai    /etc/localtime

        通过cp命令修改时区,通过date, data -R命令显示的时区都是正确的,可是对于java程序而言,是错误的。

3. 安装服务

3.1 选择要安装的服务

        CDH提供了几种预制的服务组合,可根据需要选择,或者直接自定义选择需要的服务。这里我们先仅安装HDFS,后续要安装的服务可在CM上再添加。

cdh 集群节点扩容 yarn cdh集群部署_HDFS_18

3.2 服务的角色分配

        进入角色分配,CM已经预先分匹配好了角色,可根据自己需要经行调整,在这里将CM相关服务全部安装在node0节点,将HDFS的NN放在node0节点,HDFS的SNN放在node1节点,同时在node1,node2安装DataNode。

cdh 集群节点扩容 yarn cdh集群部署_HDFS_19

3.3  数据库设置

        这里需要新建一个数据库,具体用来干嘛的还不清楚,先建一个连上。

cdh 集群节点扩容 yarn cdh集群部署_HDFS_20

cdh 集群节点扩容 yarn cdh集群部署_cloudera_21

3.4 HDFS服务配置暂时使用默认配置

cdh 集群节点扩容 yarn cdh集群部署_cloudera_22

3.5 自动安装 

cdh 集群节点扩容 yarn cdh集群部署_HDFS_23

        报图下错误,参考blog 在安装cdh的时候遇见的错误,删除namenode所在路径下的内容,我的namenode在 /dfs/nn。

cdh 集群节点扩容 yarn cdh集群部署_系统时间_24

        清空之后再次运行,报图下错误,参考blog Cloudera Manager安装 & 搭建CDH集群,这篇文章蛮好。

cdh 集群节点扩容 yarn cdh集群部署_大数据_25

         总之七七八八一些列操作,中间还有好多问题没记录,第一次安装的时候没什么问题,这其实是我第二次安装,因为之前CDH崩了,可能是由于有的东西没卸干净,向nn和dn中的内容导致的。反正CM和HDFS装好是这样。

cdh 集群节点扩容 yarn cdh集群部署_cdh 集群节点扩容 yarn_26

 

cdh 集群节点扩容 yarn cdh集群部署_cdh 集群节点扩容 yarn_27

cdh 集群节点扩容 yarn cdh集群部署_HDFS_28

4. 调试警告和错误

4.1 运行状况问题

         查看所有运行状况问题,这个问题条件有限,无法提供9个datanode,先suppress压下去。

cdh 集群节点扩容 yarn cdh集群部署_系统时间_29

 

cdh 集群节点扩容 yarn cdh集群部署_cloudera_30

4.2 配置问题

         通常CDH提示的配置问题多数是内存参数问题,根据自己集群的硬件配置进行调整即可。

cdh 集群节点扩容 yarn cdh集群部署_cdh 集群节点扩容 yarn_31

5 结语

        至此 CDH6.3.2的从零搭建、HDFS服务安装、调试基本完成。(忽略因资源问题不好解决,同时又没有suppress下去的问题doge) 

 

cdh 集群节点扩容 yarn cdh集群部署_HDFS_32