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中的问题和解决方法 ...
随机推荐
- PP篇9 更改计划订单
首先看了下这个函数的版本 还挺新的 S4版本应该是有更新过,里面用了新语法 导入: PLANNEDORDER 计划订单号HEADERDATA 表头数据(来自外部系统) HEA ...
- 增强篇6 CMOD增强删除
CMOD实施了一个增强,但是不需要了,怎么删除呢? 要删除PPCO0005 这个增强,进入编辑状态,发现没有删除按钮, 把PPCO0005 这项删除掉 敲回车,厉害了,他又回来了,所以在这里是没法删 ...
- SQL语句 update 字段=字段+字符串 拼接
update user_info set user_name = concat(user_name,'呵呵呵') where user_name = '哈哈哈';
- Swift4.0复习控制流语句
1.do语句块: Swift编程语言中可使用 do 语句块作为类似C语言中的一般语句块进行使用.与C语言的语句块类似,Swift中的 do 语句块单独作为一个作用域,该语句块中声明的局部对象在其外部将 ...
- 【JS新手教程】LODOP打印复选框选中的内容
在html中,复选框是常见的使用之一,本文介绍如何获取选中的复选框的值,并用LODOP打印.给需要为一组的复选框,复选框的checkbox设置相同的name属性,设置不同的id,然后设置需要的valu ...
- Data - 【转】数据分析的道与术
简要说明 本文来自网络流传的"百度内部培训PPT - 数据分析的道与术",版权属于"百度",如有冒犯,即刻删除. PDF下载 - 数据分析的道与术 什么是数据分 ...
- vue路由跳转取消上个页面的请求和去掉重复请求
vue路由跳转取消上个页面的请求和去掉重复请求 axios 的二次封装(拦截重复请求.异常统一处理) axios里面拦截重复请求
- idea安装svn
idea不像eclipse那样是用插件,idea是直接指向已经安装好的svn.exe.
- mui弹出二维码示例
<div id="tap_popover" class="box mui-popover mui-popover-action mui-popover-bottom ...
- Java静态分派和动态分派
前言 动态分派和静态分派机制是Java多态实现的原理.本文将针对这两种机制进行浅析. 静态分派 静态分派机制最典型的代码示例如下 void test() { Father father = new S ...