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

一:添加节点

步骤:

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

2.Name节点中设置到新节点的无密码登陆

3.在Name节点slaves文件中添加新节点

4.在所有节点/etc/hosts文件中增加新节点名

5.cd /usr/local/hadoop

  hadoop-deamon.sh start datanode

.均衡数据节点的数据 start-balamcer.sh

1.设置平衡阀值,默认为10%

start-balancer.sh-threshold  5

2.设balance宽带,默认为1M/s

hdfs dfsadmin -setBalancer Band width 2017520

问题-查看日志:

1.utilities---->Browse the FS  查看hdfs集群中文件

2.logs 日志

实际操作:

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

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

ssh-copy-id slave4

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

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


-----------------------------
E:启动datanode进程,在新节点中执行--在hadoop安装目录下输入 
sbin/hadoop-daemon.sh start datanode 

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


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


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 查看存活的节点

二、删除节点

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


等状态变成Decommissioned后就可以关闭这个节点了,


可在要移除的节点上运行相应的关闭命令,如:

hadoop-daemon.sh stop datanode

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

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

hadoop dfsadmin -report

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

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

posted @ 2018-10-08 20:54  IT晓白  阅读(471)  评论(0编辑  收藏  举报