如何使用hadoop shell命令列出死数据节点

时间:2015-03-05 23:22:15

标签: hadoop

我可以在端口50070上查看hadoop dfsnodelist页面上哪些数据节点已死,但是有没有可以运行的命令行工具来返回相同的信息? 我试过了

hadoop dfsadmin -report | grep 'Datanodes'

只告诉我总共有多少个节点,有多少个有效节点和有多少个已经死亡,有什么方法可以返回死节点列表而不是它们的IP名称?

2 个答案:

答案 0 :(得分:1)

添加" -dead"选项,然后grep为"名称:"。这将省略实时节点的信息,并仅打印死信息的识别信息。

 $ sudo -u hdfs hdfs dfsadmin -report -dead | grep Name:
Name: 10.1.3.5:50010 (cc005.fakedomain.local)
Name: 10.1.3.11:50010 (cc011.fakedomain.local)
Name: 10.1.3.20:50010 (cc020.fakedomain.local)

这个perl oneliner剥离了除主机名之外的所有内容:

 sudo -u hdfs hdfs dfsadmin -report -dead |
   perl -ne 'next unless m/Name:/;' -e 's/^.*\((.*)\).*/\1 /;' -e 'print;'
cc005.fakedomain.local
cc011.fakedomain.local
cc020.fakedomain.local

答案 1 :(得分:0)

输入hdfs dfsadmin -report

此命令将显示实时节点和deadnode