-
Docker 的核心功能之一是能夠將任何應用程式(包括 Hadoop)打包到 Docker 映像中。 本教程介紹使用 Docker 在單台計算機上快速設定多節點 Hadoop 集群的詳細步驟。 在發現當前 Hadoopondocker 專案存在的問題後,作者開發了乙個近乎最小的 Hadoop 映象,並支援快速建立具有任意數量節點的 Hadoop 集群。
github:kiwanlau hadoop-cluster-docker直接從機器上設定Hadoop集群是乙個相當痛苦的過程,特別是對於初學者來說。 他們甚至還沒有開始計算字數,他們可能會被這個問題折磨。
不是每個人都有幾台機器,對吧? 您可以嘗試使用多個虛擬機器進行構建,只要您擁有一台效能良好的計算機即可。 我的目標是在 Docker 容器中執行 Hadoop 集群,使 Hadoop 開發人員能夠快速輕鬆地在本地設定多節點 Hadoop 集群。
事實上,這個想法已經有很多實現,但沒有乙個是理想的,它們要麼影象太大,要麼使用速度太慢,要麼使用第三方工具使它們太複雜而無法使用。 下表顯示了一些已知的 Hadoopondocker 專案及其問題。 此外,在向 Alvinhenrick Hadoop-Mutino 專案新增節點時,需要手動修改 Hadoop 配置檔案,重新構建 Hadoop-nn-dn 映象,然後修改容器啟動指令碼以新增節點。
而且我通過乙個 shell 指令碼自動實現了它,我能夠在不到 1 分鐘的時間內重建 hadoop-master 映像,然後立即執行它! 預設情況下,此專案啟動具有 3 個節點的 Hadoop 集群,並支援具有任意數量節點的 Hadoop 集群。 此外,啟動 Hadoop、執行字數統計和重建映像都是使用 shell 指令碼自動完成的。
這使得整個專案的使用和開發非常方便快捷。 開發測試環境:作業系統:和核心版本:DevTest Environment: Operating System: and Kernel Version:
版本:和朋友一起,硬碟不夠,記憶體不夠,特別是核心版本太低,會導致操作失敗。
-
是的,在正常情況下應該有多個,以便在出現問題時整個集群可以繼續執行。
-
當然會,如果資料節點沒有啟動,你不需要重新格式化 namenode,也不是說 namenode 有問題。 當然,在沒有資料的情況下重新格式化 HDFS 的 namenode 不是問題,或者想出其他解決方案,肯定會有的。 如果資料節點起不來,我建議你想辦法把它加回去,如果重新格式化了 namenode,這應該不是 Hadoop 集群中的 HDFS 數量。
-
ZooKeeper 是乙個獨立的元件,可以與 HDFS 一起使用,但只要它是聯網的,它就不必一起部署。
此外,建議至少將 ZooKeeper 安裝在 3 個節點上,並且數字為奇數。
-
Hadoop上的計算時間=Hadoop框架本身花費的時間+資料處理時間計算併發性。
其中,Hadoop框架本身需要10s左右,如果引數設定不好,可能會比較長,但估計最多隻需要半分鐘左右。
計算併發取決於兩個因素:
1.資料占用的塊數取決於你的檔案儲存在Hadoop上時設定的塊大小,預設是64M,你看是不是這麼大,塊數=檔案大小塊大小。
2.Hadoop設定的最大並行任務數是在jobtracker上執行時,在某個時間處於執行狀態的任務數,這個值通常比較穩定。
分布式環境比較複雜,如果以上資訊不夠,需要諮詢管理員。
-
預設的塊是64MB,超過64MB的檔案會分塊,以塊為單位,namenode用於資料冗餘和分發,可以看到你的資料塊的分布情況,每台機器有多少個資料塊,另外,你從一台電腦到7臺,資料副本數都已經重置了嗎?
-
作為領導者,負責排程,比如你需要儲存乙個 640m 的檔案,如果按照 64m 來劃分,那麼 namenode 會拿這 10 個區塊(這裡不考慮副本),它主要維護兩個對映,乙個是檔案和區塊之間的對應關係,另乙個是區塊和節點之間的對應關係。 不知道大家能不能理解這個解釋!
-
1. 集群的目錄是系統入口。
2.集群任務排程中心。
-
HDFS有兩個核心NameNodes(乙個主節點)和DataNode(多個從節點),DataNode主要儲存資料,NameNode是管理檔案系統檔案的元資料資訊(包括檔名、大小、位置、屬性、建立時間、修改時間等),第二個是維護檔案與塊和塊之間的對應關係,第三個是維護使用者對檔案的操作資訊(新增, 刪除、修改和查詢檔案)。
-
底線:在Hadoop中排程任務。
-
最好把兩個做成は
關於硬碟:6T資料容量,取決於你設定的份數是多少,一般預設是3,那麼這些只需要18T硬碟,稍微大一點20T; 這只是 HDFS 儲存; (我在這裡說的是乙個月,如果你的資料儲存了幾個月,它將乘以幾倍)。
如果要在集群上執行計算,MR計算出的資料需要儲存在HDFS中,所以還是要根據你的結果資料做出判斷,大小取決於你的計算任務。
這就是硬碟大小的計算方式。
原始資料 + 中間資料 + 結果資料) × 副本數 = 磁碟總大小。
關於記憶體:namenode不用多說,主要是用記憶體來儲存區塊和節點之間的對應關係,也是根據資料的大小來計算的,6t區塊大小(預設為128m)=塊數->m。
乙個塊占用多少記憶體:保守地設定每百萬個資料塊占用 1000MB 記憶體。
namenode 的總記憶體 (M) = M x 1000 MB 100 萬
Datanode 的記憶體:一般問題不大,一般是用來做 MR 計算的,這個東西是根據你的效能需求設定的。
大約有多少臺機器?
根據任務數量和績效指標做出決策。
實際測試您希望有多少臺機器根據您的指標在 x 臺機器上執行一定數量的資料。
Hadoop 集群的效能與節點數大致呈正相關。
-
確保三颱計算機可以相互 ping 通,然後確保每台計算機的 hosts 檔案具有三颱計算機的 IP 和主機名的對映。
-
嘗試檢視是否可以在機器 B 和 C 上登入 master:without password
ssh test86
如果你無法登入,其他一切都是徒勞的。
讓我們來看看1!
-
命令啟動 Hadoop 集群,但 namenode 不可見。 在解決這個問題的過程中,許多新問題不斷出現。
雖然這些問題在之前學習Hadoop的時候已經解決了。 但是,因為之前已經解決了,所以現在解決這些問題就顯得尤為重要。 您希望盡快啟動集群。
最後,我想出了乙個壞主意。 直接格式化 namenode。
讓我們進入正題:在Hadoop中重新格式化名稱節點
這是因為Hadoop集群之前已經正常啟動。 所以在Hadoop對應的資料目錄下,已經有很多相關的資料夾了。 我們需要在格式化之前刪除資料夾。
1. 對主控主機執行操作。
1. 刪除 data、name 和 namesecondary 資料夾。
2. 刪除 mrlocal 目錄中的四個資料夾。
3. 刪除 logs 資料夾中的所有檔案。
2. 在節點上執行操作。
1. 刪除 HDFS 資料中的所有檔案。
2. 刪除 mrlocal 中的所有檔案。
3. 刪除日誌中的所有檔案。
基本刪除完成後。 開始重新格式化 namenode
3. 格式化 namenode
hadoop@master hadoop]$ bin/hadoop namenode -forma
格式化成功後。 重新啟動群集。
4. 重新啟動集群。
hadoop@master hadoop]$ bin/
5. 檢查集群的啟動狀態。
hadoop@master hadoop]$ jps
3851 jps
3744 tasktracker
3622 jobtracker
3279 namenode
3533 secondarynamenode
3395 datanode
如 [hadoop@master hadoop]$ jps 所示
3851 jps
3744 tasktracker
3622 jobtracker
3279 namenode
3533 secondarynamenode
3395 datanode
啟動成功。
對於已經購買了陽台公寓的業主來說,有的人想把它變成乙個休閒區,而有的人想把它變成乙個實用的區域,比如洗漾衣服等,通常實用的陽台需要進一步改造,才能更好地發揮其功能。 很多人都想知道陽台裝修怎麼安裝兩個地漏,給大家介紹一下方法。 >>>More
看看這個男人是否尊重你,情緒穩定和不穩定,你能不能接受他人性的最低點。 這些都是非常重要的因素,只有品格好、情緒穩定的人才能活一輩子。 如果對方是乙個脾氣暴躁、暴戾的人,不管你再溫柔,再賢惠,你都會變成乙個潑婦,或者一輩子的忍耐。 >>>More
IP繫結就是將乙個IP與你電腦網絡卡的MAC位址一對一繫結,即使你使用其他電腦上網,即使你輸入了IP,但因為不是原來繫結的網絡卡,你仍然無法上網。 >>>More