为什么JPS显示没有进程在运行?

时间:2017-06-21 12:33:14

标签: hadoop mapreduce hdfs yarn hadoop2

我使用apache-hadoop二进制文件运行一个hadoop,我使用以下命令启动了dfs,yarn和mr deamon:

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

在此之后一切正常,即我可以看到HDFS UI,资源管理器UI,作业历史UI等。

这是jps命令输出:

sh-3.2# jps
61601 Jps
sh-3.2#

但是,当我使用jps命令检查正在运行的进程时,它显示没有进程正在运行,没有名称节点,没有datanode,没有资源管理器,没有secondarynamenode。即使我可以轻松地将文件从本地复制到HDFS,也可以在HDFS上制作目录等。

我的问题是为什么jps命令没有显示实际运行的进程?我们是否需要使用其他参数调用jps来检查进程?

1 个答案:

答案 0 :(得分:2)

引用jps文档:

  

jps命令生成的JVM列表可能受授予运行该命令的主体的权限的限制。该命令仅列出原则具有访问权限的JVM,具体取决于操作系统特定的访问控制机制。

实际上,这通常意味着jps仅打印运行jps的同一用户所拥有的JVM进程的信息。在典型的Hadoop集群中,守护进程在不同的用户下运行,例如NameNode的用户hdfs和ResourceManager的用户yarn。如果您sudo访问并以jps作为其中一个用户运行,则可以查看这些流程。