我正在使用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命令检查哪些进程正在运行时,它显示没有正在运行的进程、没有name节点、没有datanode、没有资源管理器、没有secondarynamenode。尽管如此,我还是可以轻松地将本地文件复制到hdfs,在hdfs上创建目录等等。
我的问题是为什么jps命令没有显示实际运行的进程?我们需要用其他参数调用jps来检查进程吗?
1条答案
按热度按时间dohp0rv51#
引用jps文档:
jps命令生成的jvm列表可以受到授予运行该命令的主体的权限的限制。该命令仅列出原则具有由操作系统特定的访问控制机制确定的访问权限的JVM。
实际上,这通常意味着
jps
只打印运行同一用户所拥有的jvm进程的信息jps
. 在典型的hadoop集群中,守护进程在不同的用户下运行,例如用户hdfs
对于namenode和useryarn
为了资源经理。如果你有sudo
访问和运行jps
作为这些用户之一,您可以看到流程。