2013-03-21 247 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

相關問題