Apache擬在Docker中運行Hadoop
Apache 在其 Hadoop 維基百科發布了一個頁面,主要整理了 Docker 中運行 Hadoop 的好處,以及要完全在 Docker 中運行 Hadoop 所需要完成的工作。在 Docker,或者說其它容器中運行 Hadoop YARN 有很多優勢,具體如下:
- 軟件依賴和配置的隔離:在 Docker 中運行的應用,其軟件依賴和配置是與宿主機完全沒有關系的,跟其其它行在 Docker 中的應用也沒有關系;
- 安全性:運行在 Docker 中的應用,在沒有主動配置的情況下,基本沒有辦法訪問(即便是 Docker 鏡像中的 root 權限)宿主文件系統的內容,這可以很好的保護宿主文件系統、設備等等;
- 性能隔離:Docker 可以對應用所需要的資源,如 CPU 計算資源、內存資源、存儲資源、帶寬等進行調控;
- 一致性:只要是源自同一個 Docker 鏡像,所有的任務就具有完全一致的軟件環境,跟宿主環境無關。比如一個 Ubuntu 鏡像可以像使用真正 Ubuntu 系統一樣利用其特性,哪怕宿主機器是 RHEL;
- 快速部署:Docker 有著強大的鏡像存儲和分發能力,開發者可以很方便的從鏡像中心獲取 Hadoop YARN 應用的鏡像;
- 可編程:通過 Dockerfile,開發者可以非常方便地對 YARN 應用的文件系統、環境配置和運行的腳本進行設置; </ol>
- YARN 的 Docker 執行器;
- Docker 需要支持 user namespaces,以便可以將 Docker 鏡像中的 root 用戶映射到宿主機的普通用戶,來控制用戶對宿主文件系統的訪問;
- 容器的網絡配置:這項工作主要為了讓 YARN 的主節點同其他節點通信,Docker 現有的 NAT IP 地址不允許運行在某個鏡像中的任務訪問另外一臺物理宿主上運行的其他任務;
- 動態配置資源限制:目前 Docker 不支持動態對鏡像資源進行配置; </ol>
雖然容器的優勢是明顯的,但是目前 Docker 和 YARN 的情況卻無法支撐完全在 Docker 中運行 Hadoop YARN 任務,Apache 提出需要對 Docker 和 YARN 進行修改的想法,并給出了一些目前計劃的工作:
來自: InfoQ
<span id="shareA4" class="fl">
</span>
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!