2017-06-21 85 views
1

我使用的Apache的Hadoop的二進制運行Hadoop和我一直在使用下面的命令啓動DFS,紗和先生守護程序:爲什麼JPS不顯示進程正在運行?

start-dfs.sh 
start-yarn.sh 
mr-jobhistory-daemon.sh start historyserver 

在這之後一切正常,即,我能看到HDFS UI ,資源amanger UI,作業歷史UI等

這裏是JPS命令輸出:

sh-3.2# jps 
61601 Jps 
sh-3.2# 

但是,當我檢查哪些進程正在使用JPS命令運行時,它沒有顯示任何進程在運行,沒有名字的節點datanode,沒有資源管理器,沒有secondarynamenode。即便如此,我可以心安理得地從文件和本地複製到HDFS,使目錄上HDFS等

我的問題是,爲什麼JPS命令沒有顯示其實際運行的進程?我們是否需要用其他參數來調用jps來檢查流程?

回答

2

jps文檔引用:

由JPS命令產生的JVM的列表可通過授予運行該命令的主要的權限來限制。該命令僅列出原則具有訪問權限的JVM,具體取決於操作系統特定的訪問控制機制。

在實踐中,這通常意味着jps只打印用於由同一用戶運行jps擁有JVM進程的信息。在典型的Hadoop集羣中,守護進程在不同的用戶下運行,例如,用於NameNode的用戶hdfs和用於ResourceManager的用戶yarn。如果你有sudo接入和運行jps,因爲這些用戶中的一個,然後就可以看到的過程。

+0

我的Hadoop集羣是使用KV用戶運行。不過,我仍然嘗試sudo su並跑了jps,但沒有運氣。 – KayV

相關問題