hadoop pid文件及如何修改路径

pid内容为各进程的进程号
通过ps -ef | grep a  查询a的pid,精确杀死某进程
[hadoop@hadoop000 sbin]$ cat hadoop-daemon.sh |grep pid
#   HADOOP_PID_DIR   The pid files are stored. /tmp by default.( pid默认存储在/tmp目录

pid=$HADOOP_PID_DIR/hadoop-$HADOOP_IDENT_STRING-$command.pid
    if [ -f $pid ]; then
      if kill -0 `cat $pid` > /dev/null 2>&1; then
        echo $command running as process `cat $pid`.  Stop it first.
    echo $! > $pid
    if [ -f $pid ]; then
      TARGET_PID=`cat $pid`
      rm -f $pid

删除pid,进程不挂,服务正常

生产上:
pid 最好不要放到/tmp,若要放到/tmp目录,则需要修改自动清理机制。
/tmp目录默认:一个月清理一次临时文件

修改pid路径步骤:

1.先修改sbin目录下hadoop-daemon.sh文件

指定HADOOP_PID_DIR储存路径

2.再修改 yarn-daemon.sh 文件

指定YARN_PID_DIR储存路径

3.重新启动Hadoop:
会看的刚才指定的pid路径
 hadoop-2.8.1]$ ll
total 164
drwxrwxr-x. 2 hadoop hadoop  4096 Jul  6 04:53 bin
drwxrwxr-x. 3 hadoop hadoop  4096 Jun  2  2017 etc
drwxrwxr-x. 2 hadoop hadoop  4096 Jun  2  2017 include
drwxrwxr-x. 3 hadoop hadoop  4096 Jun  2  2017 lib
drwxrwxr-x. 2 hadoop hadoop  4096 Jun  2  2017 libexec
-rw-rw-r--. 1 hadoop hadoop 99253 Jun  2  2017 LICENSE.txt
drwxr-xr-x. 3 hadoop hadoop 12288 Jul  7 21:13 logs
-rw-rw-r--. 1 hadoop hadoop 15915 Jun  2  2017 NOTICE.txt
drwxrwxr-x. 2 hadoop hadoop  4096 Jul  7 21:13 pid
-rw-r--r--. 1 hadoop hadoop  1366 Jun  2  2017 README.txt
drwxrwxr-x. 2 hadoop hadoop  4096 Jul  7 21:09 sbin
drwxrwxr-x. 4 hadoop hadoop  4096 Jun  2  2017 share
4.目录pid里面的内容:
 hadoop-2.8.1]$ ll pid
total 20
-rw-rw-r--. 1 hadoop hadoop 5 Jul  7 21:12 hadoop-hadoop-datanode.pid
-rw-rw-r--. 1 hadoop hadoop 5 Jul  7 21:12 hadoop-hadoop-namenode.pid
-rw-rw-r--. 1 hadoop hadoop 5 Jul  7 21:13 hadoop-hadoop-secondarynamenode.pid
-rw-rw-r--. 1 hadoop hadoop 5 Jul  7 21:13 yarn-hadoop-nodemanager.pid
-rw-rw-r--. 1 hadoop hadoop 5 Jul  7 21:13 yarn-hadoop-resourcemanager.pid

修改成功

你可能感兴趣的:(大数据基础)