gpt4 book ai didi

java - jps 进程作为 root 用户不可用

转载 作者:可可西里 更新时间:2023-11-01 14:19:07 27 4
gpt4 key购买 nike

我已经在带有 JDK 1.7.0_80 的 CentOS 上成功安装了 Hadoop CDH5.2。

进程启动并成功运行。但是,当我尝试使用 jps 以 root 身份显示 java 进程列表时,它只返回 ID 而没有描述:

[root@elephant ~]# jps
11478 Jps
2871 -- process information unavailable
2972 -- process information unavailable
3146 -- process information unavailable
3611 -- process information unavailable
2796 -- process information unavailable
3445 -- process information unavailable

如果我 sudo as hdfs,我可以看到它的进程描述:

[root@elephant ~]# sudo -u hdfs jps
2871 SecondaryNameNode
11495 Jps
2972 DataNode
2796 NameNode

什么可能导致 root 无法检索进程描述?

最佳答案

所有这些 pid 都存储在/tmp 目录中。由个人用户启动的进程将存储在目录/tmp/hsperfdata_{username} 中。似乎 root 用户无法读取该文件。停止所有进程,清除/tmp 目录并重新启动所有进程。之后,再次尝试 jps 命令。

更新:

如果你使用的是openjdk,你就会遇到这个问题。要查看所有与 hdfs 相关的进程,您必须使用以下命令

sudo -u hdfs jps

类似的 yarn 过程,你必须使用下面的命令

sudo -u yarn jps

如果您使用 oracle jdk,root 用户的 jps 命令将列出所有进程,前提是正确定义了 JAVA_HOME 并且 $JAVA_HOME/bin 在您的 PATH 中。

关于java - jps 进程作为 root 用户不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31553519/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com