我正在使用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/