天天看點

《Hadoop叢集與安全》一1.3 為Hadoop叢集選擇作業系統

本節書摘來自華章出版社《hadoop叢集與安全》一書中的第1章,第1.3節,作者 (美)danil zburivsky sudheesh narayanan,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視

為hadoop叢集選擇作業系統是一項相對簡單的任務。hadoop核心以及生态系統元件都是由java編寫的,當然其中也有一些例外。雖然java代碼本身就是跨平台的,但是目前hadoop隻能運作在類似linux這樣的系統上。理由是許多設計決定都是以linux進行考慮的,是以類似于“開始/停止”腳本以及權限模型(permissions model)這樣核心hadoop元件都依賴于linux環境。

hadoop在linux平台上的實作方式都是相同的并且在不同的版本上都有良好的表現:red hat、centos、debian、ubuntu、suse以及fedora。在所有這些版本上運作hadoop都沒有特别的要求。如果所有的依賴項解析以及指令解釋器支援腳本都運作良好,那麼hadoop也能夠成功運作在其他類似posix(比如solaris或者bsd)的作業系統上。目前大部分hadoop産品的安裝都運作在linux上,我們之後的講解也會将重點放在該作業系統上。本書中的示例都運作在centos上,和red hat一樣,它也是應用最為廣泛的實際應用系統之一。

apache hadoop提供了源檔案以及用于穩定發行版的rpm以及deb包。目前它是1.0版本的一個分支。我們可以根據源代碼建構hadoop,但是對于大部分使用者我們并不推薦這麼做,因為這要求構架大型java項目的經驗以及精細的依賴項解析。cloudera以及hortonworks發行版為使用者提供了友善的途徑在伺服器上安裝存儲庫以及所需要的包。

hadoop并沒有嚴格要求在所有節點上運作相同的作業系統,但是根據經驗來說保持節點配置的一緻性更有利于我們進行管理。