CentOS7安装CDH 第八章:CDH中对服务和机器的添加与删除操作
相关文章链接
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、成功将该机器从集群中移除(移除也可以直接选中该机器,然后解除授权,但速度太慢,不建议使用,上述删除每个服务的方法速度较快)

CentOS7安装CDH 第八章:CDH中对服务和机器的添加与删除操作的更多相关文章
- centos7安装vim以及在vim中显示中文
1.centos7安装vim yum -y install vim(简单粗暴安装方法) 2.在vim中显示中文不出现乱码 (1).vim ~/.vimrc (~/.vimrc为vim配置文件) (2) ...
- VC2008中如何为MFC应用程序添加和删除消息响应函数
最近重温<MFC Windows应用程序设计>第二版这本书,里面的代码全部是使用VC6.0写的,我Win7下安装的是VS2008开发环境. VC2008下添加和删除常见的消息响应函数有两种 ...
- 通过QT查找Word中的关键字,并做高亮或删除操作
最近由于项目需要,要用QT操作Word文档.具体的工作需求:在指定的Word文档(*.doc文件/*.docx文件)中查找关键字,找到后做高亮操作或者直接删除操作,然后另存为到别的目录(表示这个文件被 ...
- linux shell 中的数组的取值 遍历 替换 删除操作
引言 在Linux平台上工作,我们经常需要使用shell来编写一些有用.有意义的脚本程序.有时,会经常使用shell数组.那么,shell中的数组是怎么表现的呢,又是怎么定义的呢?接下来逐一的进行讲解 ...
- Centos7安装Redis5.0.5并加入Systemd服务
1. 安装gcc-c++, tcl yum install gcc-c++ tcl 2. 解压缩, 编译, 测试 tar zxvf redis-5.0.5.tar.gz make make test ...
- C++中对字符串进行插入、替换、删除操作
#include <iostream> #include <string> using std::cout; using std::endl; using std::strin ...
- django orm 改动数据库中已存在的表(添加、删除、修改表字段)
python3 manage.py makemigrations --empty api # 因为我的models.py文件并直接在项目根目录,而是根目录下的api目录中 python3 manage ...
- Vue中组件化编码 完成任务的添加、删除、统计、勾选需求(实战练习三完结)
上一个章节实现数据在组件之间的传递 .这一章主要是完成添加任务到任务栏.删除任务栏.统计任务完成情况.主要还是参数在各个组件之间的传递. 上一章节的链接地址:https://blog.csdn.net ...
- CentOS7安装CDH 第十章:CDH中安装Spark2
相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...
随机推荐
- 安卓 android studio 报错 WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and
报错截图: 问题原因:compile会被在2018年底取消,会被imlementation替代,所以会报这个警告,解决警告的方式就是换成 imlementation 就好了 解决方法: 在 app 的 ...
- 编译Flink 1.9.0
闲来无事,编个Flink 1.9 玩玩 1.下载flink.flink-shaded 源码.解压 flink flink-shaded 7.0 [venn@venn release]$ ll tota ...
- 使用Docker在本地启动3个MySQL镜像
首先执行 sudo docker pull mysql 命令下载mysql官方镜像: zifeiy@zifeiy-PC:~$ sudo docker pull mysql Using default ...
- react 生命周期图解
参考地址:https://www.cnblogs.com/gdsblog/p/7348375.html
- v-for key的作用
v-for中的key来给每个节点做一个唯一的标识,diff算法就可以正确的识别此节点,找到正确的位置区插入新的节点:key的主要作用是为了高效的更新虚拟dom,另外vue在使用相同标签名元素的过渡切换 ...
- adb中文乱码问题怎么解决?
1.chcp 65001 执行完命令后 2.在cmd命令弹出的终端页面,右键单击属性设置成字体Lucida Console ,设置完成就解决了 adb 中文乱码问题
- 切实解决socket连接掉线检测
原文:切实解决socket连接掉线检测 版权声明:欢迎转载,但是请保留出处说明 https://blog.csdn.net/lanwilliam/article/details/51698807 新公 ...
- 你应该知道的4个DSP开发支持库
引言 在dsp开发中,为了节省开发时间和难度,TI将一些成熟的算法封装为模块,供开发者使用.如果能充分利用这些算法支持库,对于加快dsp开发进程与提高代码质量.稳定性有非常大的帮助. Digital ...
- Ajax的基本使用流程
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- [转帖]MySQL latch小结
MySQL latch小结 https://www.cnblogs.com/liang545621/p/9439816.html 学习一下 一个是数据库内容 一个是内存内容 与oracle的读写锁 应 ...