【问题标题】:Why is JPS showing no process running?为什么 JPS 显示没有进程正在运行?
【发布时间】:2017-06-21 12:33:13
【问题描述】:

我正在使用 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 命令检查哪些进程正在运行时,它显示没有进程在运行,没有名称节点,没有数据节点,没有资源管理器,没有辅助名称节点。尽管如此,我可以轻松地将文件从本地复制到 HDFS,在 HDFS 上创建目录等。

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

【问题讨论】:

    标签: hadoop mapreduce hdfs hadoop-yarn hadoop2


    【解决方案1】:

    引用jps 文档:

    jps 命令生成的 JVM 列表可以通过授予运行该命令的主体的权限来限制。该命令仅列出原则具有访问权限的 JVM,该权限由操作系统特定的访问控制机制确定。

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

    【讨论】:

    • 我的 hadoop 集群使用 KV 用户运行。但是,我仍然尝试 sudo su 并运行 jps,但没有运气。
    • 我有一个案例,Java 进程在我登录的同一用户下运行,但 jps 不显示它们。我也试过jps作为root,也是一样的。我很困惑。
    • 问题与 /tmp/hsperfdata* -> stackoverflow.com/questions/3805376/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多