如何添加和删除 hadoop 集群中的节点

原创 hadoop

添加节点

  1. 新节点中添加账户,设置无密码登陆
  2. NameNode 节点中设置到新节点的无密码登陆
  3. 在 NameNode 节点 slaves 文件中添加新节点
  4. 在所有节点 /etc/hosts 文件中增加新节点(所有节点保持一致)
  5. 在新节点中执行
./bin/hadoop-daemon.sh start datanode
./bin/hadoop-daemon.sh start tasktracker

均衡个数据节点中的数据

./bin/start-balancer.sh

注意:

  • 如果不执行均衡 balance,那么 cluster 会把新的数据都存放在新的 node 上,这样会降低 mapred 的工作效率
  • 设置平衡阈值,默认是 10%,值越低各节点越平衡,但消耗时间也更长
./bin/start-balancer.sh -threshold 5
  • 设置 balance 的带宽,默认只有 1M/s
<property>
  <name>dfs.balance.bandwidthPerSec</name>
  <value>1048576</value>
  <description>
    Specifies the maximum amount of bandwidth that each datanode
    can utilize for the balancing purpose in term of
    the number of bytes per second.
  </description>
</property>

删除节点

  1. 修改 NameNode 节点的 hdfs-site.xml,增加
<property>
    <name>dfs.hosts.exclude</name>
    <value>/soft/hadoop/conf/excludes</value>
</property>
  1. 修改 NameNode 节点的 mapred-site.xml,增加
<property>
   <name>mapred.hosts.exclude</name>
   <value>/soft/hadoop/conf/excludes</value>
   <final>true</final>
</property>
  1. 新建 excludes 文件,文件里写要删除节点的 hostname
  2. NameNode 节点执行
hadoop mradmin –refreshNodes
hadoop dfsadmin –refreshNodes<br>(task进程可以kill进程ID)

查看关闭进程:

adoop dfsadmin -report

当节点处于 Decommissioned,表示关闭成功。

注意:

  • 如果刚删除的节点要再添加到集群要先删除 excludes 文件,执行 hadoop dfsadmin –refreshNodes
  • 节点的状态可以通过 http://NameNodes:50070 查看
  • 如果数据较大则关闭的时间可能会很长
如果觉得这对你有用,请随意赞赏,给与作者支持
评论 0
最新评论