目标:在3个节点组成的Hadoop分布式集群,新增加一个slave3节点,用于增加DataNode节点,实现HDFS存储能力的扩容
环境要求: 虚拟机VirtualBox 操作系统 Centos7 hadoop版本 hadoop-2.6.0-cdh5.7.0
第一种扩容方案(停机stop-dfs.sh,清数据hdfs namenode -format,不符合企业生产环境的扩容理念:不停机,不清历史数据)
实验步骤:
0)扩容之前,先停止HDFS和YARN的运行
在master的终端执行stop-dfs.sh和stop-yarn.sh,依次停止集群中HDFS和YARN的运行,停止后在master, slave1, slave2,执行jps命令查看,应该没有进程运行了
1)先从完全分布式集群的虚拟机slave2复制一台新的虚拟机slave3 ,slave2必须关机才能复制, 完成后启动新虚拟机slave3
2)先在虚拟机slave3 自己的界面登陆, 通过配置文件修改虚拟机IP地址为192.168.56.13
配置文件位置/etc/sysconfig/network-scripts/ifcfg-enp0s8,文件名和网络接口名称对应, 然后service network restart重启网络接口
3)用XSHELL远程登录slave3 ,请注意VirtualBox主机网络管理器的虚拟网卡IP地址必须和CentOS一个网段
4)修改slave3 的hostname主机名
在slave3的终端执行 vi /etc/hostname 主机名修改为slave3 ,修改后把当前的XSHELL登录会话重新连接一下,终端显示的主机名才会改变
5)先修改master的hosts文件,
在master的主机终端执行 vi /etc/hosts 修改hosts文件,前两行必须保留,删除掉多余的行,新增加4行
192.168.56.10 master
192.168.56.11 slave1
192.168.56.12 slave2
192.168.56.13 slave3
6)设置并测试master, slave1, slave2, salve3四台主机之间的免密登陆,免密登录成功后,必须输入exit退出并返回原会话,以免搞混
7)再修改slave1, slave2, salve3的hosts文件
无需每台都重复修改,在master主机终端依次执行远程拷贝命令
scp /etc/hosts root@slave1:/etc/hosts
scp /etc/hosts root@slave2:/etc/hosts
scp /etc/hosts root@slave3:/etc/hosts
把master主机的配置文件hosts依次远程拷贝
到slave1,slave2,slave3,覆盖掉原有配置文件/etc/hosts即可,然后去检查一下每台主机的hosts文件内容是否正确
8)修改master, slave1, slave2, salve3的slaves文件
a) 先在master的主机终端执行
cd /usr/local/hadoop-2.6.0-cdh5.7.0/etc/hadoop/ 切换到slaves文件所在目录
vi slave