hadoop之JPS命令真相与hadoop进程PID剖析

1.jps命令简介

选项作用
-q只输出LVMID,省略主类的名称
-m输出启动时,传给main()函数的参数
-l输出主类全类名
-v输出jvm参数

jps命令是显示正在运行的java程序,root用户使用时显示所有运行的java程序,普通用户只显示自己启动的正在运行的java程序,而ps显示所有的进程,包括java程序。然而jps显示的某进程信息不可用时进程真的未启动吗???

2.jps命令位置

which jps #显示jps命令位置
/usr/java/jdk1.8.0_152/bin/jps  #可知是属于jdk的
jps #当前linux系统启动了hdfs,有三个进程,如下
26001 NameNode
26097 DataNode
26263 SecondaryNameNode
26398 Jps

3.hadoop进程标识文件位置

默认hdfs进程标识文件在:/tmp/hsperfdata_进程用户名称 /目录下,如下

[hadoop@hadoop002 ~]$ ll /tmp/hsperfdata_hadoop/
total 96
-rw-------. 1 hadoop hadoop 32768 Feb 19 18:55 26001
-rw-------. 1 hadoop hadoop 32768 Feb 19 18:55 26097
-rw-------. 1 hadoop hadoop 32768 Feb 19 18:55 26263

4.jps的真真假假

采坑,重要 !!!我们有时再root用户下jps 出现 process information unavailable信息,并没有我们想要的hadoop进程信息,hadoop是没启动成功吗? 真不可用吗?

[root@hadoop002 ~]# jps
1520 Jps
26001  -- process information unavailable
26097  -- process information unavailable
26263  -- process information unavailable

使用ps -ef | grep namenode 验证进程是否存在的,发现进程是存在的,此时process information unavailable是假的,如果此时如 kill -9 这三个进程后依旧显示process information unavailable,这是切换到hadoop用户查看确实进程消失,此时process information unavailable是真的,若想root用户jps不显示残留信息rm -rf hsperfdata_hadoop即可。

注意 : -- ps -ef| grep XXX是真正能验证进程是否运行的最佳方式

     -- kill进程触发方式: 1、人为  2、进程在Linux看来是耗内存最大的且会影响系统正常运行,系统自动给kill  

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值