1、说明
当不修改PID文件位置时,系统默认会把PID文件生成到/tmp目录下,但是/tmp目录在一段时间后会被删除,所以以后当我们停止HADOOP/HBASE/SPARK时,会发现无法停止相应的进程
会警告说:no datanode to stop、no namenode to stop 等,因为PID文件已经被删除,此时只能用kill命令先干掉,所以现在我们需要修改HADOOP/HBASE/SPARK的PID文件位置;
修改配置前,应先停止相关集群服务;
可以先修改一台的配置,然后分发到其他主机对应的目录中;
2、修改hadoop的pid文件位置
创建pid存放目录(集群所有主机):
mkdir –p /var/hadoop/pid
#如果是普通用户,注意权限问题,修改权限;
hadoop-env.sh 增加以下内容:
export HADOOP_PID_DIR=/var/hadoop/pid
yarn-env.sh 增加以下内容:
export YARN_PID_DIR=/var/hadoop/pid
hbase-env.sh 增加以下内容:
export HBASE_PID_DIR=/var/hadoop/pid
3、修改hbase的pid文件位置
创建pid存放目录(集群所有主机):
mkdir -p /var/hbase/pid #同样需要注意权限问题;
hbase-env.sh 增加以下内容:
export HBASE_PID_DIR=/var/hbase/pid
4、修改spark的pid文件位置
创建pid存放目录(集群所有主机):
mkdir -p /var/spark/pid
#同样需要注意权限问题;
spark-env.sh 增加以下内容:
export SPARK_PID_DIR=/var/spark/pid
5、分发以上修改后的文件;
6、启动集群服务,观察是否在创建的目录中生成了pid文件;
[root@node1 ~]# ls /var/hadoop/pid/ hadoop-root-datanode.pid hadoop-root-namenode.pid yarn-root-nodemanager.pid yarn-root-resourcemanager.pid [root@node1 ~]# ls /var/hbase/pid/ hbase-root-master.pid hbase-root-master.znode hbase-root-regionserver.pid hbase-root-regionserver.znode #我暂时没有spark,所以没有列出;