1. 程式人生 > >hadoop叢集的搭建指令碼及構思(二):程式檔案的管理思路

hadoop叢集的搭建指令碼及構思(二):程式檔案的管理思路

安裝了幾次hadoop系統後終於開始有了一點感覺,對程式檔案的管理有了一點想法,這裡先記著。等搞完了再仔細地總結一下。

  • 網路上的基本教程都是從0開始,建使用者,建目錄,拷貝壓縮包,然後再解壓,再修改配置檔案,再修改系統配置檔案;然後從一個機器(基本是master node)同步到其他的nodes上去,再統一啟動。
  • 整個過程中,其實除了很少的一些配置不一樣(比如zookeeper裡面的id檔案內容不一樣),其他的東西都是一樣的,而且系統的配置也都一樣。
  • 我原來的部署指令碼都是按照從0開始的動作來編寫的,每個機器都要跑一遍。完成一臺機器,然後同步到其他機器上去。碰到配置不同的,還需要單獨手工來一條命令一條命令的執行。
基於上面對於這些程式的安裝理解,其實整個叢集的配置可以這樣來實現。
  • 設定一個檔案伺服器(可以考慮主備兩臺),用來存放程式原始檔,以及按照實際軟體的安裝結構已經解壓縮的檔案,包括配置檔案。
  • 部署指令碼根據每個軟體編寫,基本思路是:
    1. 在每個需要安裝軟體的節點執行;
    2. 檢查節點是否按照軟體的需要建立起了合適的基礎目錄結構以及目錄許可權;
    3. 從檔案伺服器上遠端scp整個軟體的目錄結構和檔案到本節點
    4. 根據節點的屬性,動態的設定配置,比如id數等。
  • 安裝部署過程就變成了遠端拷貝和本地配置兩個部分。

目前看,對於hadoop/yarn以及spark叢集,只需要同步即可檔案目錄即可。配置檔案無需修改。zookeeper還要加單獨配置每個journalnode的id。

另外,由於有些軟體還有dependency,比如Java是幾乎所有系統都需要的。那麼就必須有一個安裝的先後順序。

不過,最近流行的Docker技術可能就會改變這個思路,不過對於物理機和虛擬機器系統,上述的思路還是可以使用的。