Hadoop之JPS命令及真假现象(process information unavailable)

前言:
jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有 java 进程 pid 的命令,简单实用,非常适合在 linux/unix 平台上简单察看当前java进程的一些简单情况。


jps  可以查看 hadoop 上 当前运行的java 进程。
jps  不是hadoop的什么命令  能够显示系统当前运行的java程序及其进程号

jps命令是jdk下bin目录中的一个可执行文件,需要安装比 jdk6u17 更高的版本

#jps路径
[root@hadoop001 ~]# which jps
/usr/java/jdk1.8.0_45/bin/jps

# jps真假现象
[root@hadoop001 ~]# jps     
17424 -- process information unavailable
24576 Jps
17730 -- process information unavailable
17560 -- process information unavailable

#根据PID查看实际存在
[root@hadoop001 hadoop]# ps -ef|grep 17424
hadoop   17424     1  0 May18 ?        00:02:57 /usr/java/jdk1.8.0_45/bin/java -Dproc_namenode -Xmx1000m -Djava.net.preferIPv4Stack=true -Dhadoop.log.dir=/opt/software/hadoop-2.8.1/logs -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/opt/softwar
root     24657 24647  0 18:51 pts/1    00:00:00 grep 17424


#切换hadoop用户
[root@hadoop001 ~]# su - hadoop
[hadoop@hadoop001 ~]$ jps
17424 NameNode
17730 SecondaryNameNode
17560 DataNode
24620 Jps

总结:
:不能以jsp查看作为实际观察hadoop是否启动,ps -ef|grep pid观察进程是否真的或者假存在,
真的存在,查看进程所属用户,切换用户停止和启动hadoop
process information unavailable 错误提示,处理需要停止hadoop 删除/tmp/hsperfdata_当前用户/文件










来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31441024/viewspace-2154746/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31441024/viewspace-2154746/

### 回答1: Hadoopjps命令显示jps,可能有以下几种情况: 1. HadoopJPS命令显示jps是因为在Hadoop的bin目录中只有jps命令的符号链接,而没有其他Hadoop相关的命令符号链接,这是正常情况。 2. 如果您已经正确安装了Hadoop并且已经设置好了Hadoop的环境变量,但是jps命令仍然只显示jps,那么可能是因为您的Hadoop进程没有启动。在这种情况下,您需要启动Hadoop的进程后,再次运行jps命令,就应该能看到Hadoop相关的进程了。 3. 如果您的Hadoop进程已经启动,但是jps命令仍然只显示jps,那么可能是因为您没有使用正确的用户运行jps命令。在这种情况下,您需要使用具有Hadoop权限的用户登录到系统上,并以该用户身份运行jps命令,才能看到Hadoop相关的进程。 总之,如果您想查看Hadoop相关的进程,请确保Hadoop已正确安装并且相关进程已启动,并以具有Hadoop权限的用户身份运行jps命令。 ### 回答2: HadoopJPS命令中只有JPS,这是因为JPS命令是Java Virtual Machine Process Status Tool的缩写,它可以用来显示系统上当前正在运行的Java进程的信息。因此,JPS只能展示运行在Java虚拟机上的进程信息,而无法展示其他类型的进程信息。 同时,Hadoop是一种分布式计算框架,它需要启动多个进程来完成任务。这些进程包括NameNode、DataNode、SecondaryNameNode、JobTracker、TaskTracker等。这些进程都是通过Java命令启动的,因此可以使用JPS命令查看它们的进程信息。 但是,Hadoop的各个组件之间的进程通信和数据传输也需要使用其他的工具和组件,比如Zookeeper、HDFS、Yarn、MapReduce等,这些组件的各种进程信息需要通过其他命令或工具来查看。例如,可以使用Zookeeper自带的客户端命令来查看Zookeeper各个节点的状态,使用HDFS自带的命令行工具来查看HDFS中的文件状态等等。 因此,虽然HadoopJPS命令中只有JPS,但是它并不是查看Hadoop集群中所有进程的唯一途径,还有其他的命令和工具可以帮助我们查看集群中各个组件的进程信息。 ### 回答3: Hadoop是一个分布式的计算平台,用于处理大规模的数据。其中,jps是Java Virtual Machine Process Status Tool(Java虚拟机进程状态工具)的缩写,用于检查正在运行的Java进程。在Hadoop中,我们通常会使用Hadoop集群来执行数据处理任务,这需要在每个节点上运行一些Hadoop服务进程。 在Hadoop中,我们可以使用hadoop-daemon.sh和yarn-daemon.sh脚本来启动相应的服务进程,例如NameNode、DataNode和ResourceManager等。这些脚本会启动一个Java进程来运行相应的服务进程。当我们在某个节点上执行jps命令时,它会列出所有正在运行的Java进程及其相关信息,包括Java进程的ID和进程名。但是在Hadoop中,只有一个Java进程在运行Hadoop服务进程,因此jps命令只会显示一个Java进程,即运行Hadoop服务的Java进程。 总之,使用Hadoop时,由于只有一个Java进程运行所有服务进程,因此只有一个Java进程会出现在JPS命令的输出中。这并不表示Hadoop不能处理大规模的数据或不能运行多个服务进程。相反,Hadoop可以根据需要启动多个服务进程来同时处理多个数据处理任务,同时确保它们在不同节点上运行以实现高可用性和容错性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值