Datanode部分节点下线【转】
最近需要将HDFS集群进行缩减,datanode由8台减到3台。google了一下,觉decommission方式最稳妥,于是使用该方法进行操作。
前提条件:
namenode的hdfs-site.xml 里有如下配置项
- <property>
- <name>dfs.hosts</name>
- <value>/data/hadoop/etc/hadoop/slaves</value>
- </property>
- <property>
- <name>dfs.hosts.exclude</name>
- <value>/data/hadoop/etc/hadoop/dfs_exclude</value>
- </property>
dfs.hosts是允许接入的机器列表,如果没有配置的话,则任何节点可以接入。dfs.hosts.exclude是打算下线的机器列表。
下线节点很简单。
首先在dfs.hosts.exclude的文件里填写想要下线的机器的IP/hostname,然后在namenode上运行
- hadoop dfsadmin -refreshNodes
打开namode监控UI,就可以看到Decommissioning Nodes 的数量增加,同时Live Nodes页面里,想要下线的机器状态变成了 Decommission In Progress。
此时decommissioning的机器上的数据块会被copy到其它机器上。在监控首页面和Live Nodes页面下方都可以看到还有多少block待复制。
当这些数据块被copy完后,该机器就会变成Decommissioned的状态。接下来,就可以停掉该机器的datanode服务了。同时也需要删除dfs.hosts和dfs.hosts.exclude文件里的该机器地址, 并再次运行
- <pre code_snippet_id="2050056" snippet_file_name="blog_20161214_2_6461338" name="code" class="plain">hadoop dfsadmin -refreshNodes </pre>
- <pre></pre>
- <br>
- <br>
作者:明翼(XGogo)
-------------
公众号:TSparks
微信:shinelife
扫描关注我的微信公众号感谢
 
-------------

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号