服役新数据节点:
需求:
随着公司业务的增长,数据量越来越大,原有的数据节点的容量已经不能满足存储数据的需求,需要在原有集群基础上动态添加新的数据节点。
在不用重启集群的情况下,添加新集群节点,以下操作是再之前搭建好集群情况下操作的,看我之前博客
首先开启集群.
再克隆一台机器配置ip106,主机名称hadoop106
把module文件拷贝到106 /opt下
修改两个脚本,把for循环数量加1
设置ssh ,root和kxj无密登录 102对106的无密登录
同步/etc/profile,并且在106进行source /etc/profile
106修改module所属用户权限
删除data logs数据
在namenode节点机器上,hadoop/etc/hadoop目录下新建dfs.hosts文件,把新节点和旧节点添加进去.
在namenode的hdfs-site.xml配置文件中增加dfs.hosts属性,指定刚创建文件的位置.
<property>
<name>dfs.hosts</name>
<value>/opt/module/hadoop-2.7.2/etc/hadoop/dfs.hosts</value>
</property>
修改slaves文件添加新节点,slaves文件是在集群启动时加载的,下一次启动namenode的时候会加载这个如果不配置的话,新节点下次启动集群的时候就加载不进来,上面的配置是动态加载新节点的.
刷新namenode 更新resourcemanager节点
hdfs dfsadmin -refreshNodes yarn rmadmin -refreshNodes
现在看集群状态就会发现多了一个节点,只不过它现在不能工作还是死的.
然后在106节点启动datanode,和nodemanager
106节点就能正常工作了
上传个文件进行测试
均衡节点 sbin/start-balancer.sh 新添加上来的节点里面是没数据的,为了让数据均衡可以使用这个命令.
退役旧数据节点
需要注意如果集群副本数本来就是3个你还要退役一台,它是退役不成功的,除非把节点数改为2
先编写dfs.hosts.exclude文件把要退役的节点添加进去.
在namenode的hdfs-site.xml配置文件中增加dfs.hosts.exclude属性,指定刚创建文件的位置.
<property>
<name>dfs.hosts.exclude</name>
<value>/opt/module/hadoop-2.7.2/etc/hadoop/dfs.hosts.exclude</value>
</property>
刷新节点