hadoop-叢集管理(3)——不常用引數

thamsyangsw發表於2014-08-19

1. hadoop日誌目錄

預設存放在hadoop安裝目錄下的logs資料夾中,也可以透過hadoop-env.sh中的HADOOP_LOG_DIR變數來修改。一般建議修改預設值,使之獨立於hadoop安裝目錄,這樣便於以後的升級。

hadoop日誌檔案的名稱格式為“hadoop-使用者名稱-守護程式名-本地主機名.log”。例如“hadoop-tianyc-namenode-Route.log”就是我的hadoop叢集中的一個日誌檔案。其中“使用者名稱”部分對應hadoop-env.sh檔案中的HADOOP_IDENT_STRING變數,可以透過修改該變數來修改日誌檔案中的使用者名稱資訊。

2. SSH設定

hadoop-env.sh檔案中的HADOOP_SSH_OPTS變數可以向SSH傳遞很多選項,進行SSH的自定義。例如:

  • 使用ConnectTimeout選項來設定減小連線超時,可以避免控制指令碼長時間等待當機節點的響應(當然,也不能設定得太低,使得繁忙節點被跳過)。
  • 使用StrickHostKeyChecking選項設定為no,則會將新主機鍵加入已知主機檔案中。該值預設為ask,不適合大型叢集環境。

3. 使用rsync

透過rsync工具,hadoop控制指令碼能夠將配置檔案分發到叢集的各個節點中。預設該功能未啟用,可以透過設定hadoop-env.sh中的HADOOP_MASTER變數啟動。啟用rsync後,當工作節點的守護程式啟動後,會把以HADOOP_MASTER為根的目錄樹與本地的HADOOP_INSTALL目錄同步。

4. 與rsync相關的變數

在大型叢集中,若rsync已啟用,則叢集啟動時所有工作節點幾乎同時啟動,且同時向主節點發出rsync請求,可能導致主節點癱瘓。這就需要設定hadoop-env.sh中的另一個變數:HADOOP_SLAVE_SLEEP,將它設定為一小段時間(例如0.1秒)。該變數度量為“秒”。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26613085/viewspace-1253879/,如需轉載,請註明出處,否則將追究法律責任。

相關文章