天天看點

Hadoop中pid檔案存儲一、Hadoop配置二、Hbase的配置 

  我的hadoop叢集部署在自己電腦虛拟機上,有時候我是挂起虛拟機,第二天再打開發現有些線程就挂了,比如namenode,好奇怪,當時看了一些文章說是和pid存儲有關,找到log看到找不到pid。因為基于java開發的程式,想要停止程式,必須通過程序pid來确定,而hadoop和hbase預設的情況下,會把pid檔案存儲在Linux上的/tmp目錄的某個目錄,程序名指令規則一般是架構名-使用者名-角色名.pid,而預設情況下,linux的tmp裡面的東西,一天會删除一次。

  其實每次不用的時候挂壁,用的時候開啟就行,隻不過很麻煩,我寫了腳本沒成功,才挂機,一般不要挂起。

  (1)修改hadoop-env.sh 

  修改如下,如果沒有下面的設定,可以直接添加: 

  上述配置,影響 

  NameNode 

  DataNode 

  SecondaryNameNode 

  程序pid存儲 

  (2)修改mapred-env.sh 

  JobHistoryServer 

  (3)修改yarn-env.sh 

  修改或者添加(不存在此項配置時),這裡面我沒有找到pid的環境設定變量,是以就直接添加了 

  NodeManager 

  ResourceManager 

  程序pid存儲

  修改hbase-env.sh 

  HMaster 

  HRegionServer