2013-03-21 531 views
18

什么是简单的命令来检查Hadoop守护进程是否正在运行?如何检查Hadoop守护进程是否正在运行?

例如,如果我想弄清楚为什么HDFS没有正确设置,我想知道一种方法来检查namemonode/datanode/jobtracker/tasktracker是否在这台机器上运行。

有没有办法在没有查看日志或使用ps(在Linux上)的情况下快速检查它?

回答

5

我没有找到很好的解决方案,所以我用

ps -ef | grep hadoop | grep -P 'namenode|datanode|tasktracker|jobtracker' 

只是为了看看东西正在运行

./hadoop dfsadmin -report 

,但最后没有帮助,直到服务器是运行。

+0

上述命令的预期输出是什么?我试过第一个命令没有显示? – NIMISHAN 2016-01-04 09:06:26

11

在shell类型'jps'中(您可能需要使用jdk来运行jps)。它列出了所有正在运行的java进程,并列出正在运行的hadoop守护进程。

4

除了jps,另一个好主意是使用Hadoop提供的NameNode和JobTracker的Web界面。它不仅向您显示流程,还为您提供了许多其他有用的信息,如集群摘要,正在进行的作业等。要转到NN UI,请将Web浏览器指向“YOUR_NAMENODE_HOST:9000”,对于JT UI“YOUR_JOBTRACKER_HOST:9001”。

+0

感谢,我知道这一个 - 它只是我有一些很难搞清楚为什么Web界面没有启动为什么node nave没有连接 - 所以UI不是非常有用 – Bohdan 2013-03-21 22:12:05

+0

它现在工作吗? – Tariq 2013-03-22 08:34:21

+0

当然,这是内部的东西,而不是在hadoop – Bohdan 2013-03-22 21:42:16

8

如果您看到hadoop进程未在ps -ef|grep hadoop上运行,请运行sbin/start-dfs.sh。与hdfs dfsadmin -report显示器:

[[email protected] bin]$ hadoop dfsadmin -report 
Configured Capacity: 105689374720 (98.43 GB) 
Present Capacity: 96537456640 (89.91 GB) 
DFS Remaining: 96448180224 (89.82 GB) 
DFS Used: 89276416 (85.14 MB) 
DFS Used%: 0.09% 
Under replicated blocks: 0 
Blocks with corrupt replicas: 0 
Missing blocks: 0 

------------------------------------------------- 
Datanodes available: 2 (2 total, 0 dead) 

Name: 192.168.1.16:50010 
Decommission Status : Normal 
Configured Capacity: 52844687360 (49.22 GB) 
DFS Used: 44638208 (42.57 MB) 
Non DFS Used: 4986138624 (4.64 GB) 
DFS Remaining: 47813910528(44.53 GB) 
DFS Used%: 0.08% 
DFS Remaining%: 90.48% 
Last contact: Tue Aug 20 13:23:32 EDT 2013 


Name: 192.168.1.17:50010 
Decommission Status : Normal 
Configured Capacity: 52844687360 (49.22 GB) 
DFS Used: 44638208 (42.57 MB) 
Non DFS Used: 4165779456 (3.88 GB) 
DFS Remaining: 48634269696(45.29 GB) 
DFS Used%: 0.08% 
DFS Remaining%: 92.03% 
Last contact: Tue Aug 20 13:23:34 EDT 2013 
2

尝试jps命令。它指定已启动并正在运行的java进程。

+1

你可能想澄清这个答案。 – summea 2014-03-19 16:13:29

4

为VIPIN说,像这样的命令,你可以使用JPS命令:

/usr/lib/java/jdk1.8.0_25/bin/jps 
当然

你会改变的java的路径与你有一个
JPS“的路径,你在安装的Java”是一个用于检查预期的Hadoop进程是否正在运行的好工具(自从v1.5.0开始,Sun的Java的一部分)。
结果将是类似的东西:

2287 TaskTracker 
2149 JobTracker 
1938 DataNode 
2085 SecondaryNameNode 
2349 Jps 
1788 NameNode 

我从本教程的答案:http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/

-1

尝试运行此:

for service in /etc/init.d/hadoop-hdfs-*; do $service status; done; 
+0

这可以工作,但不是从shell启动时。这也仅适用于HDFS。 – Bohdan 2015-02-11 01:08:35

0

要检查是否Hadoop的节点正在运行或不:

sudo -u hdfs hdfs dfsadmin -report 

配置的容量:28799380685(26.82 GB)
目前的能力:25104842752(23.38 GB)
DFS剩余:25012056064(23.29 GB)
DFS使用:92786688(88.49 MB)
DFS使用%:0。37%
在复制块:436
块和腐败副本:0
缺少块:0


的Datanode可用:1(1个总共0死)

实时数据节点:
名称:127.0.0.1:50010(localhost.localdomain)
主机名:localhost.localdomain
机架:/默认
停用状态:正常
配置的容量:28799380685(26.82 GB)
DFS使用:92786688(88.49 MB)
非DFS使用:3694537933(3.44 GB)
DFS剩余:25012056064(23.29 GB)
DFS用%:0.32%
DFS剩余%:86.85%
最后接触:周四3月1 22时01分38秒北京时间2018

相关问题