`
Taoo
  • 浏览: 290987 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hadoop 批量移除 dataNode

 
阅读更多
其实就是编辑一个文本,文本内容就是写出要移除机器的ip地址。
然后在mapred-site.xml 设置dfs.hosts.exclude参数,其值为刚提到ip地址文件的路径。
然后执行hadoop dfsadmin -refreshNodes
ok,
这个时候,机器就会把那些有待移除的节点上的数据,开始搬移。其实这个时间比我想象的要快,具体多久,也没注意,出去吃顿饭,两个多小时移除了大概100G吧。
移除好后,在web界面上看,那些节点会变成dead nodes。


移除好之后,修改slaves文件,移除那些ip,然后在修改那个ip地址文件将里面的内容删去。
然后可以手动执行hadoop-deamon.sh停掉taskTracker和dataNode,当然,也可以重启集群。




以下为参考内容:
http://blog.csdn.net/fiberlijun/article/details/4832936
http://hi.baidu.com/surendaxiao/blog/item/6d2234c29334ee5fb319a843.html
http://hadoop.apache.org/common/docs/r0.20.0/cluster_setup.html

17. HDFS. 我想通过同时移除一批节点的方式把一个大机群缩小,这项任务如何完成?

从一个大机群中移除一两个数据节点不会导致任何数据丢失,因为名字节点在检测到数据节点失效时,会从别处复制它们所保存的数据块。如果有大量节点移除或崩溃,数据丢失的概率就增大了。

Hadoop 提供清退(decommission)机制以便从机群中安全地移除一批已存在的数据节点。方法是把需要移除的节点写在排除名单文件中,并把排除名单的文件名作为 dfs.hosts.exclude 的参数值。排除名单文件需要在名字节点启动时就准备好,它的长度也可以为零。在这个文件中,需要写完整的主机名、IP 或 IP:port 这样的格式。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics