【问题标题】:jps command list only jps but still HDFS services are availablejps 命令仅列出 jps 但仍然可以使用 HDFS 服务
【发布时间】:2017-08-24 08:28:04
【问题描述】:

我目前正在为 Hadoop 使用 5 节点集群。如果我在 Namenode 上执行 jps 命令,我只能看到 Jps 进程正在运行。

[user1@p03517 ~]$ /usr/jdk64/jdk1.8.0_60/bin/jps
16641 Jps

Hive 使用 HDFS 进行存储。因此,在这种情况下,我的选择查询应该会因连接错误而失败。但是,我可以使用查询来获取数据。

[user1@p03517 ~]$ hive
WARNING: Use "yarn jar" to launch YARN applications.

Logging initialized using configuration in file:/etc/hive/2.4.0.0-169/0/hive-log4j.properties
hive> select * from test_hive;
OK
1       2       95
2       2       90
Time taken: 6.52 seconds, Fetched: 2 row(s)
hive> exit;

我无法解释这种 HDFS 行为。我试着看报告。但是,只有超级用户才能看到报告。

[user1@p03517 ~]$ hadoop dfsadmin -report

编辑 1: 由于我不是超级用户,所以sudo jps 不起作用。 我正在使用以下命令作为解决方法:

ps -ef | grep -i namenode

【问题讨论】:

    标签: java hadoop hive hdfs


    【解决方案1】:

    答案在于您提供的信息。

    正如你所提到的,你不是super user

    • 要通过jps检查主机上所有正在运行的节点,你需要运行 命令作为根。
    • 否则,jps 将只显示您指定的节点 当前以用户身份登录。

    此链接也为类似问题提供了更多信息:

    running jps command not showing NameNode or Tasktracker ID, though it statrs up when i use start.sh command

    希望它能回答您的问题!

    【讨论】:

    • 谢谢凯沙夫。有没有办法检查哪些服务正在使用 Java 运行?我实际上想在触发 Hive 查询之前验证服务是否正在运行。
    猜你喜欢
    • 1970-01-01
    • 2019-09-23
    • 2019-06-06
    • 1970-01-01
    • 2017-06-19
    • 2015-05-04
    • 2023-03-07
    • 1970-01-01
    • 2014-10-09
    相关资源
    最近更新 更多