【若泽大数据实战第十天】Hadoop jps 详解 - jps报27342 -- process information unavailable

前言:

本次课程,J哥给我们讲了jps,很多知识点还不是特别熟悉,以下的是我自己梳理的信息

Haoop jps 详解

jps最主要的功能使查看java接口的进程号

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

注:jps命令有个地方很不好,似乎只能显示当前用户的java进程,要显示其他用户的还是只能用unix/linux的ps命令。

jps常用参数

1、命令jps类似于Linux下的ps,但它只用于列出Java的进程。直接运行jps不加任何参数,可以列出Java程序的进程ID以及Main函数等名称。
【若泽大数据实战第十天】Hadoop jps 详解 - jps报27342 -- process information unavailable

其中第一个输出Jps就是jps命令本身,这更加证明此命令的本质也是一个Java程序。

2、参数-q 指定jps只输出进程ID,而不输出类的短名称:

【若泽大数据实战第十天】Hadoop jps 详解 - jps报27342 -- process information unavailable
3、参数-m 用于输出传递给Java进程(主函数)的参数:
【若泽大数据实战第十天】Hadoop jps 详解 - jps报27342 -- process information unavailable
4、参数-l 输出应用程序main class的完整package名 或者 应用程序的jar文件完整路径名
【若泽大数据实战第十天】Hadoop jps 详解 - jps报27342 -- process information unavailable
5、参数-v 可以显示传递给JVM的参数:
【若泽大数据实战第十天】Hadoop jps 详解 - jps报27342 -- process information unavailable

 

【若泽大数据】生产实战 - jps 真死、假死

 

 
  1. [[email protected] ~]$ jps

  2. 54450 Jps

  3. 10611 NodeManager

  4. 5720 NameNode

  5. 6030 SecondaryNameNode

  6. 5823 DataNode

  7. 10511 ResourceManager

  8. [[email protected] ~]$

  9. [[email protected] ~]$ which jps

  10. /usr/java/jdk1.8.0_45/bin/jps

  11. [[email protected] ~]$

  12.  
  13.  
  14. [[email protected] ~]# cd /tmp/hsperfdata_hadoop/

  15. [[email protected] hsperfdata_hadoop]# ll

  16. total 160

  17. -rw-------. 1 hadoop hadoop 32768 Dec 17 10:11 10511

  18. -rw-------. 1 hadoop hadoop 32768 Dec 17 10:11 10611

  19. -rw-------. 1 hadoop hadoop 32768 Dec 17 10:11 5720

  20. -rw-------. 1 hadoop hadoop 32768 Dec 17 10:11 5823

  21. -rw-------. 1 hadoop hadoop 32768 Dec 17 10:11 6030

正常流程

 
  1. [[email protected] hsperfdata_hadoop]# jps

  2. 10611 -- process information unavailable

  3. 6325 jar

  4. 54487 Jps

  5. 5720 -- process information unavailable

  6. 6030 -- process information unavailable

  7. 5823 -- process information unavailable

  8. 10511 -- process information unavailable

  9. [[email protected] hsperfdata_hadoop]# ps -ef |greo 10611

  10. 找到该进程的使用用户名称

  11.  
  12. [[email protected] hsperfdata_hadoop]# su - hadoop

  13. [[email protected] ~]$ jps

  14. 10611 NodeManager

  15. 5720 NameNode

  16. 54524 Jps

  17. 6030 SecondaryNameNode

  18. 5823 DataNode

  19. 10511 ResourceManager

  20. [[email protected] ~]$

异常流程

 
  1. [[email protected] rundeck]# jps

  2. 10611 -- process information unavailable

  3. 6325 jar

  4. 5720 -- process information unavailable

  5. 6030 -- process information unavailable

  6. 54591 Jps

  7. 5823 -- process information unavailable

  8. 10511 -- process information unavailable

  9. [[email protected] rundeck]#

  10. [[email protected] rundeck]# kill -9 10611

  11.  
  12. [[email protected] rundeck]# jps

  13. 10611 -- process information unavailable

  14. 6325 jar

  15. 5720 -- process information unavailable

  16. 54605 Jps

  17. 6030 -- process information unavailable

  18. 5823 -- process information unavailable

  19. 10511 -- process information unavailable

  20. [[email protected] rundeck]# ps -ef|grep 10611

  21. root 54618 48324 0 10:15 pts/1 00:00:00 grep 10611

  22. [[email protected] rundeck]#

  23. 10611信息残留,去/tmp/hsperfdata_hadoop文件夹删除该10611文件

  24.  
  25. [[email protected] hsperfdata_hadoop]# ll

  26. total 160

  27. -rw-------. 1 hadoop hadoop 32768 Dec 17 10:17 10511

  28. -rw-------. 1 hadoop hadoop 32768 Dec 17 10:15 10611

  29. -rw-------. 1 hadoop hadoop 32768 Dec 17 10:17 5720

  30. -rw-------. 1 hadoop hadoop 32768 Dec 17 10:17 5823

  31. -rw-------. 1 hadoop hadoop 32768 Dec 17 10:16 6030

  32. [[email protected] hsperfdata_hadoop]# rm -f 10611

  33. [[email protected] hsperfdata_hadoop]#

  34. [[email protected] hsperfdata_hadoop]# jps

  35. 54626 Jps

  36. 6325 jar

  37. 5720 -- process information unavailable

  38. 6030 -- process information unavailable

  39. 5823 -- process information unavailable

  40. 10511 -- process information unavailable

  41. [[email protected] hsperfdata_hadoop]# su - hadoop

  42. [[email protected] ~]$ jps

  43. 54661 Jps

  44. 5720 NameNode

  45. 6030 SecondaryNameNode

  46. 5823 DataNode

  47. 10511 ResourceManager

  48. [[email protected] ~]$

生产:process information unavailable

1.找到进程号jps

2.ps -ef|grep pid是否存在(这步很关键要做判断查看进程是否存在)

3.假如进程不存在,我们可以去该/tmp/hsperfdata_xxx去删除

4.如果存在千万别删,自己查看是不可以的,其他用户查看是可用的。

5不存在举例说明如下:

但我不知道是这个进程是属于哪个用户的我们怎么操作呢,如下图

【若泽大数据实战第十天】Hadoop jps 详解 - jps报27342 -- process information unavailable

发现没有进程,到tmp目录下查看

【若泽大数据实战第十天】Hadoop jps 详解 - jps报27342 -- process information unavailable

6.如果存在ps -ef |grep pid 看到了用户名,

su 切换过去jps一下就好了

【若泽大数据】生产实际操作,但是少了ps -ef 来确认进程号,要注意

【若泽大数据实战第十天】Hadoop jps 详解 - jps报27342 -- process information unavailable

补充1:

做了一次hdfs的停止,先查看jps当前的进程,

【若泽大数据实战第十天】Hadoop jps 详解 - jps报27342 -- process information unavailable

可以看到停止的顺序 namenode datanode secondary namenodes

【若泽大数据实战第十天】Hadoop jps 详解 - jps报27342 -- process information unavailable

我们在看看停止时,/tmp/hsperfdata_hadoop 有些什么操作,第一次两个进程,后面只剩下一个进程5564慢慢停止,【若泽大数据实战第十天】Hadoop jps 详解 - jps报27342 -- process information unavailable,进程文件也随着进程的消失而消失。

【若泽大数据实战第十天】Hadoop jps 详解 - jps报27342 -- process information unavailable

 

补充2:jps假死

hadoop用户启动hdfs,jps后的进程是正常的,我切换到root用户发现jps进程报错

【若泽大数据实战第十天】Hadoop jps 详解 - jps报27342 -- process information unavailable

这时候我们要判断是否是真死还是假死,ps -ef | grep pid

我们查看一下5235进程是否存在发现进程存在,而且是hadoop用户启动的,说明这个是假死状态,进程还在使用中。

【若泽大数据实战第十天】Hadoop jps 详解 - jps报27342 -- process information unavailable

关于jps的一些总结:

 

hadoop用户启动的 ./start-dfs.sh  jps后可以看到进程

root用户看到的就是5235 -- process information unavailable ,

ps -ef| grep 5235 看的到是hadoop用户的这个进程还在, 那这个状态就是假死,

因为进程还在,所以说root用户 是看不到 hadoop启动的jps进程, 只有root用户启动hdfs才能看到 jps下的三个进程,

 

 

 

root 使用jps只有两种情况:

第一种: 查看正常信息

第二种:   - process information unavailable

 

大数据课程推荐:

 

【若泽大数据实战第十天】Hadoop jps 详解 - jps报27342 -- process information unavailable