2017-06-21 80 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

相关问题