溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Hadoop jps正確使用流程及報(bào)錯(cuò)處理

發(fā)布時(shí)間:2020-06-25 19:34:23 來(lái)源:網(wǎng)絡(luò) 閱讀:1077 作者:wangkunj 欄目:大數(shù)據(jù)

簡(jiǎn)介:
jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一個(gè)顯示當(dāng)前所有java進(jìn)程pid的命令,簡(jiǎn)單實(shí)用,非常適合在linux/unix平臺(tái)上簡(jiǎn)單察看當(dāng)前java進(jìn)程的一些簡(jiǎn)單情況。
詳細(xì)參數(shù)請(qǐng)參考:https://www.cnblogs.com/toSeeMyDream/p/5747412.html
注:jps命令有個(gè)地方很不好,似乎只能顯示當(dāng)前用戶(hù)的java進(jìn)程,顯示其他用戶(hù)很容易報(bào)錯(cuò) -- process information unavailable

下面我們模擬下Hadoop生產(chǎn)實(shí)戰(zhàn)中 jps 真死、假死的問(wèn)題

1.模擬主機(jī)宕機(jī)
[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
#進(jìn)程不存在 可去/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用戶(hù)啟動(dòng)hdfs,然后用jps分別查看信息
#hadoop用戶(hù)
[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用戶(hù)
[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
##看到進(jìn)程存在 請(qǐng)不要去/tmp目錄下做刪除操作 用su切換到hadoop用戶(hù)下 jps即顯示正常
3.生產(chǎn)環(huán)境jps 報(bào)錯(cuò)process information unavailable處理流程
  • 1.jps找到各個(gè)進(jìn)程號(hào)
  • 2.ps -ef|grep pid是否存在(這步很關(guān)鍵要做判斷查看進(jìn)程是否存在)
  • 3.假如進(jìn)程不存在,我們可以去該/tmp/hsperfdata_xxx去刪除
  • 4.如果存在千萬(wàn)別刪,自己查看是不可以的,切換到啟動(dòng)HDFS進(jìn)程的用戶(hù)下(一般是hadoop用戶(hù)) 再用jps即顯示正常。
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI