我正在使用apache-hadoop二进制文件运行hadoop,并且已经使用以下命令启动了dfs,yarn和mr deamon:

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

在此之后,一切正常,即,我可以看到HDFS UI,resource amanger UI,Job History UI等。

这是jps命令输出:
sh-3.2# jps
61601 Jps
sh-3.2#

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

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

最佳答案

引用jps文档:



实际上,这通常意味着jps仅打印运行jps的同一用户拥有的JVM进程的信息。在典型的Hadoop集群中,守护程序在不同的用户下运行,例如NameNode的用户hdfs和ResourceManager的用户yarn。如果您具有sudo访问权限并以这些用户之一的身份运行jps,则可以看到这些过程。

关于hadoop - 为什么JPS显示没有进程在运行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44676254/

10-16 08:29