关于jps的深入了解以及生产中jps的一些坑

**

1.jps命令的真相(这种情况是针对于:生产环境:)

hadoop: hdfs组件 hdfs用户
root用户或sudo权限的用户取获取

1.1 jps命令位置哪里的**

1
2
[hadoop@hadoop002 hadoop-2.6.0-cdh5.7.0]$ which jps
/usr/java/jdk1.8.0_45/bin/jps

2.2 对应的进程的标识文件在哪 /tmp/hsperfdata_进程用户名称

1
2
3
4
5
6
7
8
[hadoop@hadoop002 hsperfdata_hadoop]$ pwd
/tmp/hsperfdata_hadoop
[hadoop@hadoop002 hsperfdata_hadoop]$ ll
total 96
-rw------- 1 hadoop hadoop 32768 Feb 16 20:35 1086
-rw------- 1 hadoop hadoop 32768 Feb 16 20:35 1210
-rw------- 1 hadoop hadoop 32768 Feb 16 20:35 1378
[hadoop@hadoop002 hsperfdata_hadoop]$

2.3 用户查看你情况

1
2
3
4
5
6
7
8
9
10
root用户看所有用户的jps结果
普通用户只能看自己的
当用root用户查看进程的时候,会出现这样的情况:
[root@hadoop002 ~]# jps
1520 Jps
1378 -- process information unavailable
1210 -- process information unavailable
1086 -- process information unavailable
不管进程还可用不可用,都会出现以上信息,进程的残留信息,让人无法判断进程是否可用。
process information unavailable (会显示这样的信息,如果对于不知道jps命令的人很有可能会认为这个进程已经死掉了,但是通过普通用户查看时,进程依然再执行。)

2.4 所以怎么去判断 jps中的进程是否可用:

1
真假判断: ps -ef|grep namenode 真正判断进程是否可用

2.5 为什么jps下的进程会死掉:

1
2
一种时人为的情况
另一种是 进程在Linux看来是耗内存最大的 自动给你kill

2.5如何清除掉root用户下 jps查看进程的残留:

1
2
3
4
5
[root@hadoop002 tmp]# rm -rf hsperfdata_hadoop (将这一进程标识文件删除掉就可以了)
[root@hadoop002 tmp]#
[root@hadoop002 tmp]# jps
1906 Jps
[root@hadoop002 tmp]#

2.6.pid文件 集群进程启动和停止需要的文件

1
2
3
4
5
6
7
在家目录下/tmp下的pid文件
-rw-rw-r-- 1 hadoop hadoop 5 Feb 16 20:56 hadoop-hadoop-datanode.pid
-rw-rw-r-- 1 hadoop hadoop 5 Feb 16 20:56 hadoop-hadoop-namenode.pid
-rw-rw-r-- 1 hadoop hadoop 5 Feb 16 20:57 hadoop-hadoop-secondarynamenode.pid
Linux在tmp命令 定期删除一些文件和文件夹 30天周期
有时候 Linux会将你的pid文件给删除掉,这个时候,当你需要关闭的时候,却关不了,需要开启的时候,却仍停留再上一次开启,
这个时候应该怎么解决这样的问题呢。

2.7如何解决:

1
2
3
4
5
新建一个目录,mkdir /data/tmp
chmod -R 777 /data/tmp
将pid文件放在这个目录的下面。
修改环境变量:
export HADOOP_PID_DIR=/data/tmp

本文标题:关于jps的深入了解以及生产中jps的一些坑

文章作者:skygzx

发布时间:2019年04月07日 - 09:27

最后更新:2019年04月07日 - 12:34

原始链接:http://yoursite.com/2019/04/07/关于jps的深入了解以及生产中jps的一些坑/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------本文结束感谢您的阅读-------------
0%