动态的添加和删除hadoop集群中的节点

时间:2024-04-13 16:59:44

一:添加节点

A:新节点中添加账户,设置无密码登陆

B:Name节点中设置到新节点的无密码登陆

ssh-copy-id slave4

动态的添加和删除hadoop集群中的节点

C:在Name节点slaves文件中添加新节点

动态的添加和删除hadoop集群中的节点

动态的添加和删除hadoop集群中的节点

D:在所有节点/etc/hosts文件中增加新节点(所有节点保持一致)

动态的添加和删除hadoop集群中的节点

动态的添加和删除hadoop集群中的节点
-----------------------------
E:启动datanode进程,在新节点中执行--在hadoop安装目录下输入 
sbin/hadoop-daemon.sh start datanode 

动态的添加和删除hadoop集群中的节点

直接刷新web界面,可以看到节点已经在上面了

动态的添加和删除hadoop集群中的节点


2.启动nodemanager进程 
在hadoop安装目录下输入 
sbin/yarn-daemon.sh start nodemanager 

动态的添加和删除hadoop集群中的节点


3.均衡block 
sbin/start-balancer.sh

1)如果不balance,那么cluster会把新的数据都存放在新的node上,这样会降低mapred的工作效率
2)设置平衡阈值,默认是10%,值越低各节点越平衡,但消耗时间也更长
sbin/start-balancer.sh -threshold 5
3)设置balance的带宽,默认只有1M/s
通过下面的命令也可以设置平衡时使用的网络带宽(字节/秒)

4.配置宽带

打开hdfs-site.xml,设置节点平衡带宽设置(默认值1M,下面设置为10M)

<property>

<name>dfs.datanode.balance.bandwidthPerSec</name>

<value>20971520</value>

</property>

在NameNode运行 hadoop dfsadmin -report 查看存活的节点

动态的添加和删除hadoop集群中的节点

二、删除节点

A:修改Name节点的hdfs-site.xml增加,设置节点排除文件的位置(必须是绝对路径)

<property>
    <name>dfs.hosts.exclude</name>
    <value>/soft/hadoop/conf/excludes</value>
</property>

C:新建excludes文件,文件里写要删除节点的hostname

在excludes文件中添加要排除的节点主机名,一行一个

D:Name节点执行

hadoop dfsadmin –refreshNodes

动态的添加和删除hadoop集群中的节点
等状态变成Decommissioned后就可以关闭这个节点了,

动态的添加和删除hadoop集群中的节点
可在要移除的节点上运行相应的关闭命令,如:

hadoop-daemon.sh stop datanode

动态的添加和删除hadoop集群中的节点

几分钟后,节点将从Decommissioned进入Dead状态(时间经过大约500多秒)。

动态的添加和删除hadoop集群中的节点

也可以在NameNode上查看关闭进程

hadoop dfsadmin -report

动态的添加和删除hadoop集群中的节点

------------注意

1:如果刚删除的节点要再添加到集群要先删除excludes文件,执行 hadoop dfsadmin –refreshNodes
2:节点的状态可以通过http://NameNodes:50070查看
3:如果数据较大则关闭的时间可能会很长

相关文章