相关文章链接
CentOS7安装CDH 第二章:CentOS7各个软件安装和启动
CentOS7安装CDH 第四章:CDH的版本选择和安装方式
CentOS7安装CDH 第五章:CDH的安装和部署-CDH5.7.0
CentOS7安装CDH 第六章:CDH的管理-CDH5.12
CentOS7安装CDH 第七章:CDH集群Hadoop的HA配置
CentOS7安装CDH 第八章:CDH中对服务和机器的添加与删除操作
1. CDH动态添加机器
1.2. 对新机器的环境配置
1、配置新机器的JDK环境,保持和其他机器一致,可参考上述JDK的安装;
2、关闭防火墙,如果在线上环境要开放好端口;
3、上传MySQL的连接Jar包;
4、修改原有集群的所有机器的/etc/hosts,将新机器的对应ip添加进去:
echo “192.168.12.120 centos.ouyang.com” >> /etc/hosts
5、将老机器中的/etc/hosts中ip地址对应的主机名的内容复制到新机器上;
6、检查新机器的python版本,要和老机器保持一致;
7、配置新机器的yum源,可以直接到老机器上复制即可;
cd /etc/yum.repos.d/
scp cloudera-manager.repo 192.168.12.120:/etc/yum.repos.d/
注意:
1、在添加其他机器时操作系统和原机器的操作系统要保持版本一致;
2、如果使用jar包安装JDK,安装地址为/usr/java目录下,其他目录下会报错;
3、上传的MySQL连接Jar包需上传到/usr/share/java目录下;
4、安装JDK时建议使用上述的rpm包安装,这样会将python更新一下;
1.2. 在CDH的web界面添加新机器
1、点击向集群中添加新主机按钮
2、添加主机向导
3、输入新机器的IP地址搜索新机器,如果是使用阿里云等云服务机器,请输入内网IP,在阿里云上,内网速度比外网快很多
4、搜索到新机器,点击继续按钮
5、选择自定义存储库,自定义存储库中的地址就是yum源配置的地址,可以通过cat cloudera-manager.repo命令查看,将其中的baseurl的地址复制进去即可,请注意其中的协议要为http,不能是https
6、不安装自带JDK,点击下一步
7、输入用户的密码
8、在新添加的机器中安装agent(这是拼人品的时候,遇到问题请查看日志,然后解决问题,再重新安装),安装成功后点击继续按钮
注意:如果在安装过程中,点击了中止按钮,此时需要到命令行端,执行ps -ef | grep yum命令,查找到对应的yum进程,并kill掉,再去web界面重新安装,否则不能重新安装成功,在web界面中止,不会把yum源完全关闭,需要在命令行界面彻底关闭才行
9、安装选定的包,安装完成之后点击继续按钮
10、进行主机检查,可以参考上述的CDH安装中,设置大页面和swap
11、选择主机模板,一般是不选择模板的,先添加一台空机器进入集群中
12、部署客户端配置,点击继续按钮即可
13、添加成功
2. CDH动态添加服务
1、选择对应服务中的添加角色实例按钮(以HDFS为例)
2、为要添加的服务选择具体的主机(以DataNode为例)
3、审核更改DataNode的数据目录和容忍DataNode可以失败的卷(请注意CentOS中挂载的其他磁盘,如果没有挂载其他磁盘,就如下所示,当磁盘容量充足时,不需要添加其他的目录,保留如下目录即可)
4、重新部署客户端配置
按照流程往下走即可,其中的重新部署客户端配置选项一定要选,如下图:
5、重启过时服务,重启之后点击完成即可
6、添加完成,在主界面有一些配置等小问题需要更改,请根据具体情况进行修改即可,例在HDFS中添加了一个DataNode,此时HDFS中的块可以备份为3个,CDH就会提示进行修改,如下图所示,但在生产环境中最好不要修改配置,因为修改配置后有重启服务的提示,一不小心重启服务在生产环境中会造成不好的后果(注:生产环境中一般情况下不要重启服务,如果一定要重启服务请在晚上等业务较少时再进行操作)
7、如果碰到如下情况,新添加的服务还是没有启动,可以手动启动
3. CDH的迁移服务
1、场景一,A机器的磁盘快满了,新添加了B机器(大磁盘)到集群上:
此时,需要在B机器上添加DN,并删除A机器的DN,但当在B机器上添加DN,并删除A机器的DN时,HDFS集群会自动修复数据,即会保持HDFS中的block块备份为3个,此时会有很多数据通过B机器的DN写入到B机器的磁盘中,会占大量的网络和磁盘IO,此时应该评估B机器的磁盘是否够用(预估2年后的数据量,B机器磁盘是否能装下),是否处于业务低谷,即会不会影响Job的执行。
2、场景二,HDFS中log分区的数据备份:
将存储到HDFS中6个月前的冷数据迁移到 aws s3 / aliyun oss / 或另外的集群上,达到数据备份并清理集群中机器磁盘的目的。
3、注意:
a) 有些服务不能迁移(如DataNode),只能在新机器上添加服务,再在老机器上删除服务。
b) 在迁移服务时会重启集群上的该服务,所以应该选择在业务低谷中对服务进行迁移。
c) 在HDFS中,有balancer平衡器对各个机器中的数据进行平衡,但当一个机器中的数据太多时(另外还有个机器的数据很少),使用平衡器不会将该机器中的数据移除太多,只会移除比较少的一部分,所以一般是在新机器上添加服务,将老机器上的服务删除。
4. CDH中的删除服务和机器
1、选中该机器,并停止该机器上的所有角色
2、去对应的服务中删除该机器中每一个角色
3、通过命令行,关闭该机器的的agent服务,并将该机器从集群中移除
4、成功将该机器从集群中移除(移除也可以直接选中该机器,然后解除授权,但速度太慢,不建议使用,上述删除每个服务的方法速度较快)