HADOOP_PID_DIR
本想在環境變量裡設定,在相關檔案裡直接尹用,但是我想起來那時候的JAVA_HOME都不行,還是一個一個設定吧。
有時候,我們對運作幾天或者幾個月的hadoop或者hbase叢集做停止操作,會發現,停止指令不管用了,
因為基于java開發的程式,想要停止程式,必須通過程序pid來确定,而hadoop和hbase預設的情況下,會把pid檔案存儲在Linux上的/tmp目錄的某個目錄下,程序名指令規則一般是 架構名-使用者名-角色名.pid,而預設情況下,linux的tmp裡面的東西,一天會删除一次,是以把pid檔案放在這裡面,并不是長久之計,為了安全起見,我們還是放到一個固定的目錄下最好,當然不能放在/tmp下
如何配置避免把程序檔案寫到臨時目錄下面呢?
一:Hadoop配置:
(1)修改hadoop-env.sh
修改如下,如果沒有下面的設定,可以直接添加:
export HADOOP_PID_DIR=/ROOT/server/pids_hadoop_hbase
export HADOOP_SECURE_DN_PID_DIR=/ROOT/server/pids_hadoop_hbase
上述配置,影響
NameNode
DataNode
SecondaryNameNode
程序pid存儲
(2)修改mapred-env.sh
修改
export HADOOP_MAPRED_PID_DIR=/ROOT/server/pids_hadoop_hbase
JobHistoryServer
(3)修改yarn-env.sh
修改或者添加(不存在此項配置時),這裡面我沒有找到pid的環境設定變量,是以就直接添加了
export YARN_PID_DIR=/ROOT/server/pids_hadoop_hbase
NodeManager
ResourceManager