美文网首页
HDFS真死和假死

HDFS真死和假死

作者: 怀夕 | 来源:发表于2018-06-01 22:09 被阅读0次

    HDFS真死和假死,其实就是 process information unavailable状态的真假判断。

    一、真死

    我们先在 /opt/software/hadoop-2.8.1/sbin目录下使用命令 ./start-dfs.sh将hdfs启动,这时候有一个NameNode,一个SecondaryNameNode,一个DataNode。

    如图:

    在root用户下使用命令 kill -9 $(pgrep -f hadoop-2.8.1) 将hadoop用户下的进程全部杀死。就会出现以下状态,使用命令 ps -ef|grep 进程号  查看进程也会发现,所有的进程都不存在了。这种状态就是真死


    二、假死

            承接上文,在hadoop用户下再一次重新启动HDFS,然后jps查看进程是否存在。此时的进程是存在的。

    如下图:

    然后再在root用户下直接jps查看进程,却出现以下的状况,发现进程依旧不可查看。而且此时的进程的进程号发生了变化,进程号自动变为刚刚启动的进程号。

    这种状态属于假死。


    总结:真死——进程不存在且不可用(process information unavailable)

                假死——进程存在但不可用 (process information unavailable)


    三、jps ——查看Java的进程号

    进一步解释:jps 查询的是当前用户的 hsperfdata_当前用户/文件。

    hsperfdata_hadoop/文件   文件的名字就是该用户进程的进程号。


    四、在生产上出现process information unavailable状态时,该怎么做呢?

    1. 使用 jps 找到进程号

    2.  ps -ef|grep pid 查看是否存在

    3.  如果不存在,就可以去该 /tmp/hsperfdata_xxx目录下删除

         查找准确的hsperfdata_xxx目录—— cd /tmp目录,然后输入命令 ll hsperfdata_*,查看所有用户的hsperfdata_xxx对应文件,然后看显示不可用(process information unavailable)的进程号在哪个文件夹,再去对应的文件夹将文件删除。

    4.  如果存在,但是当前用户查看进程就是显示process information unavailable(不可用),就切换用户查看进程在哪。

    相关文章

      网友评论

          本文标题:HDFS真死和假死

          本文链接:https://www.haomeiwen.com/subject/qjaksftx.html