当你大数据集群的规模已经无法满足当前数据需求时,就需要在线对集群进行扩容,该文章从头到尾手把手教你如何扩容 hadoop 集群,跟着我来做非常 nice!!!
一、目标
集群有三个节点,需要新添加两个节点
已有节点:
192.168.1.32 kf1-32-hdp
192.168.1.33 kf1-33-hdp
192.168.1.34 kf1-34-hdp
添加节点:
192.168.1.77 kf1-77-hdp
192.168.1.78 kf1-78-hdp
二、基础配置
1.系统环境
服务器配置按以前配置:手把手教你离线搭建CDH6.2-CSDN博客
可以用制作的服务器镜像直接新建虚拟机,快速又便捷
2.1.2. 配置网络(每个节点)
2.1.3. 编辑/etc/hosts文件(每个节点)
2.1.4. 关闭防火墙、禁止防火墙开机自启(每个节点)
2.1.5. ssh无密码登录
2.1.6. 配置NTP服务(所有节点)->改用chrony
2.1.7. 修改Linux swappiness参数(所有节点)
2.1.8. 禁用透明页(所有节点)
2.1.9. JDK安装(所有节点)
2.1.10. 创建/usr/share/java目录,将mysql-jdbc包放过去(所有节点)
2.1.11. 为保证防火墙、虚拟机参数修改后生效,各节点机器需要重启 reboot
2.1.15. 配置Cloudera Manager包yum源
2. 安装perl和python
yum install perl
python先查看当前版本,默认系统自带即可,不行网上找安装命令吧!
3.上传cloudera-manager文件到/opt目录,并安装
mkdir -p /opt/cloudera/parcel-repo ##创建目录
上传文件到/opt/cloudera/parcel-repo,文件清单如下:
allkeys.asc
cloudera-manager-agent-6.2.0-968826.el7.x86_64.rpm
cloudera-manager-daemons-6.2.0-968826.el7.x86_64.rpm
cloudera-manager-server-6.2.0-968826.el7.x86_64.rpm
cloudera-manager-server-db-2-6.2.0-968826.el7.x86_64.rpm
docker-engine-1.7.1-1.el6.x86_64.rpm
enterprise-debuginfo-6.2.0-968826.el7.x86_64.rpm
oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
repodata
RPM-GPG-KEY-cloudera
注:可以将master节点上的同目录下的文件复制到目标机器,一定要保证CDH版本和目前版本一致
4.安装 daemons和 agent
yum -y install cloudera-manager-daemons-6.2.0-968826.el7.x86_64
yum -y install cloudera-manager-agent-6.2.0-968826.el7.x86_64
5.修改 agent 配置文件
vi /etc/cloudera-scm-agent/config.ini ##创建目录
server_host = xxxx #指向主控节点 cloudera-scm-server
6.新增节点创建 cloudera-scm 用户
可忽略,安装agent会自动创建
useradd --system --home=/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
7.启动代理服务
systemctl start cloudera-scm-agent
三、添加主机
1. CM中添加主机
2. 添加到集群
3. 选择主机
注:如果已经安装完agent,这里应该从Currently Mangerd Hosts这里选择已经检测到但是未托管的的主机
4. 分配
5. 服务器检查
检查结果
后面主机模板可以采用默认,不创建主机模板,添加节点后再从组件分配实例。
添加成功后,CM-主机会显示新添加主机
四、 配置角色
本次新增两台机器,仅添加DataNode、NodeManager、RegionServer三个角色
1.主机模板
创建主机模板
2.应用主机模板
选中新增的机器
3.启动 HDFS DataNode
下面为手动添加角色过程,如果用模板添加可忽略,直接启动
到hdfs -》实例 中将新添加的datanode节点启动即可
手动执行datanode负载平衡或执行 hadoop balancer
关于 hadoop balancer 参照:
https://blog.csdn.net/duanbiren123/article/details/81056393
4.启动 YARN NodeManager
手动添加和datanode过程类似
启动完成后可根据需求修改内存和cpu配置
容器内存: yarn.nodemanager.resource.memory-mb
容器虚拟 CPU 内核: yarn.nodemanager.resource.cpu-vcores