jps查看进程出现「xxxx -- process information unavailable」
0. 写在前面
- 实验背景:离线数仓使用Kerberos安全环境下
- Linux:CentOS7.5
- Azkaban:Azkaban3.84.4
- Hadoop:Hadoop3.1.3
- Hive:Hive3.1.2
- Kylin:Kylin3.0.2
- ZooKeeper:Zookeeper3.5.7
- HBase:HBase2.0.5
1. 报错
- 场景
「Azkaban全流程调度」 & 「Kylin的Web端生成一个Cube」
- 信息
[root@node03 ~]# jps9361 Jps 8764-- process information unavailable
起初暴力 kill -9
并没有解决
[root@node03 ~]# kill -9 8764bash: kill: (8764) - 没有那个进程 [root@node03 ~]# jps9376 Jps 8764-- process information unavailable
- 原因分析
1. 不同用户之间
kill进程
时,会造成这种现象
比如:zhangsan用户启动了一个java进程,但是root用户kill掉这个进程,虽然杀掉了,但是查看进程时偶尔就会出现
2. 因为某些进程没有被正常结束,比如`资源占用过大时挂掉`或者`没有结束进程就直接重启计算机`,会导致原有进程变为`-- process information unavailable`这样的空值
很明显,由于 「azkaban全流程调度」
以及 「Kylin的Web端生成一个Cube」
这两个操作都是相当消耗资源的,内存使用率占比高达98%。
不理会它,一段时间后可能会自动消失不见。
此处需要 手动处理
- 方法如下:
进入/tmp目录,找到
hsperfdata_
开头的目录,查找-- process information unavailable
对应进程号的文件,将其删除即可
[root@node03 ~]# cd /tmp/[root@node03 tmp]# ll总用量 44drwxr-xr-x. 3 hbase hadoop 40969月 1808:31 hbase-hbase drwxr-xr-x. 2 azkaban hadoop 40969月 1805:42 hsperfdata_azkaban drwxr-xr-x. 2 hbase hadoop 40969月 1808:56 hsperfdata_hbase drwxr-xr-x. 2 hdfs hadoop 40969月 1808:59 hsperfdata_hdfs drwxr-xr-x. 2 hive hadoop 40969月 1808:53 hsperfdata_hive drwxr-xr-x. 2 presto hadoop 40969月 1808:55 hsperfdata_presto drwxr-xr-x. 2 root root 40969月 1809:00 hsperfdata_root drwxr-xr-x. 2 yarn hadoop 40969月 1808:59 hsperfdata_yarn drwx------. 2 root root 40969月 1407:12 vmware-root
[root@node03 tmp]# ls hsperfdata_azkaban/[root@node03 tmp]# ls hsperfdata_hbase/[root@node03 tmp]# ls hsperfdata_presto/[root@node03 tmp]# ls hsperfdata_hdfs/[root@node03 tmp]# ls hsperfdata_hive/8764
[root@node03 tmp]# cd hsperfdata_hive/[root@node03 hsperfdata_hive]# ll总用量 32-rw-------. 1 hive hadoop 327689月 1816:53 8764[root@node03 hsperfdata_hive]# rm -rf 8764 [root@node03 hsperfdata_hive]# ll总用量 0
[root@node03 hsperfdata_hive]# jps9414 Jps
2. 参考
https://www.cnblogs.com/freeweb/p/5748424.html https://www.cnblogs.com/yjmyzz/p/6372334.html
顺利完成