Hadoop jps正确使用流程及报错处理

简介:
jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。
详细参数请参考:https://www.cnblogs.com/toSeeMyDream/p/5747412.html
注:jps命令有个地方很不好,似乎只能显示当前用户的java进程,显示其他用户很容易报错 -- process information unavailable

下面我们模拟下Hadoop生产实战中 jps 真死、假死的问题

1.模拟主机宕机
[root@hadoop000 ~]# jps
4868 DataNode
5062 SecondaryNameNode
5256 Jps
4717 NameNode
[root@hadoop000 ~]#  kill -9 $(pgrep -f hadoop-2.8.1)
[root@hadoop000 ~]# jps
4868 -- process information unavailable
5062 -- process information unavailable
4717 -- process information unavailable
5279 Jps
[root@hadoop000 ~]# ps -ef|grep 4868
root      5301  1630  0 14:39 pts/0    00:00:00 grep 4868
#进程不存在 可去/tmp/hsperfdata_hadoop文件夹删除残留文件
[root@hadoop000 ~]# cd /tmp/hsperfdata_hadoop/
[root@hadoop000 hsperfdata_hadoop]# ll
total 96
-rw------- 1 hadoop hadoop 32768 May 19 14:38 4717
-rw------- 1 hadoop hadoop 32768 May 19 14:38 4868
-rw------- 1 hadoop hadoop 32768 May 19 14:38 5062
[root@hadoop000 hsperfdata_hadoop]# rm *
rm: remove regular file `4717'? yes
rm: remove regular file `4868'? yes
rm: remove regular file `5062'? yes
#显示正确
[root@hadoop000 hsperfdata_hadoop]# jps
5304 Jps
2.再次用hadoop用户启动hdfs,然后用jps分别查看信息
#hadoop用户
[hadoop@hadoop000 hadoop-2.8.1]$ pwd
/opt/software/hadoop-2.8.1
[hadoop@hadoop000 hadoop-2.8.1]$ sbin/start-dfs.sh
[hadoop@hadoop000 hadoop-2.8.1]$ jps
10004 SecondaryNameNode
9655 NameNode
10219 Jps
9806 DataNode

#root用户
[root@hadoop000 ~]# jps
10004  -- process information unavailable
9655  -- process information unavailable
10187 Jps
9806  -- process information unavailable
[root@hadoop000 hsperfdata_hadoop]# ps -ef|grep 10004
hadoop   10004     1  3 15:07 ?        00:00:08 /usr/local/java1.8/bin/java -Dproc_secondarynamenode -Xmx1000m -Djava.net.preferIPv4Stack=true -Dhadoop.log.dir=/opt/software/hadoop-2.8.1/logs -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/opt/software/hadoop-2.8.1 -Dhadoop.id.str=hadoop -Dhadoop.root.logger=INFO,console -Djava.library.path=/opt/software/hadoop-2.8.1/lib/native -Dhadoop.policy.file=hadoop-policy.xml -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Stack=true -Dhadoop.log.dir=/opt/software/hadoop-2.8.1/logs -Dhadoop.log.file=hadoop-hadoop-secondarynamenode-hadoop000.log -Dhadoop.home.dir=/opt/software/hadoop-2.8.1 -Dhadoop.id.str=hadoop -Dhadoop.root.logger=INFO,RFA -Djava.library.path=/opt/software/hadoop-2.8.1/lib/native -Dhadoop.policy.file=hadoop-policy.xml -Djava.net.preferIPv4Stack=true -Dhadoop.security.logger=INFO,RFAS -Dhdfs.audit.logger=INFO,NullAppender -Dhadoop.security.logger=INFO,RFAS -Dhdfs.audit.logger=INFO,NullAppender -Dhadoop.security.logger=INFO,RFAS -Dhdfs.audit.logger=INFO,NullAppender -Dhadoop.security.logger=INFO,RFAS org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode
root     10256  7539  0 15:11 pts/3    00:00:00 grep 10004
##看到进程存在 请不要去/tmp目录下做删除操作 用su切换到hadoop用户下 jps即显示正常
3.生产环境jps 报错process information unavailable处理流程
  • 1.jps找到各个进程号
  • 2.ps -ef|grep pid是否存在(这步很关键要做判断查看进程是否存在)
  • 3.假如进程不存在,我们可以去该/tmp/hsperfdata_xxx去删除
  • 4.如果存在千万别删,自己查看是不可以的,切换到启动HDFS进程的用户下(一般是hadoop用户) 再用jps即显示正常。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、系统参数配置优化 1、系统内核参数优化配置 修改文件/etc/sysctl.conf,添加如下配置,然后执行s...
    张伟科阅读 3,910评论 0 14
  • 入门指南 1. 简介 Quickstart会让你启动和运行一个单节点单机HBase。 2. 快速启动 – 单点HB...
    和心数据阅读 4,985评论 1 41
  • 经过一系列的前期环境准备,现在可以开始Hadoop的安装了,在这里去apache官网下载2.7.3的版本http:...
    欢醉阅读 1,812评论 8 28
  • 你问我:“姐妹做多久?”/我说:“你抛弃我的时候……” 咖啡是姐姐,刀子嘴豆腐心,细心的她对妹妹照顾有佳;蜜糖是妹...
    昼梗阅读 598评论 2 2
  • 蒸海鲜纯粹、清爽、营养,就像我和Jenny的友谊。永远值得赞美,没有丝毫功利色彩,就是简单的精神取暖,专业扶持。多...
    d11110d0172b阅读 167评论 0 0

友情链接更多精彩内容