# Hadoop ## Apache Hadoop * ==儲存==、==運算==、==資源管理==的分散式 Big Data 處理平臺 * 每個Hadoop具有一個`ResourceManager`,或一台以上的`NodeManager`,`NodeManager`數量與`DataNode`相同 - 優點 - 容易擴充 - 高可用性 - 主要服務 - HDFS `Hadoop Distributed File System` - 由一台 `NameNode` 與至少一台的 `DataNode` 所組成。 - NameNode:管理檔案系統的名稱空間,記錄每個檔案的元資料==metadata==(例如,檔案大小、權限、創建時間、儲存位置等),並且負責管理數據區塊的映射。 - SecondaryNameNode:如果`NameNode`掛了,`SecondaryNameNode`可還原數據 - DataNode:實際存儲數據區塊==block==的節點,負責向 NameNode 報告自己所存儲的數據區塊信息,以及將數據區塊傳輸到其他 DataNode。 ```mermaid graph TD; NameNode-->DataNode1; NameNode-->DataNode2; NameNode-->DataNode3; ``` - Yarn `Yet Another Resource Negotiator` - 主要服務 - ResourceManager - 管理與裁決Hadoop叢集內資源的使用權,根據資源的狀態分配作業給計算節點 - 發生故障時自動將未完成的作業分配到其他可用的節點上 - NodeManager - 數量應與`DataNode`相同 - 取得`ResourceManager`分配的資源後,啟動並監控Container其資源,包括記憶體、硬碟、CPU、網路 - Container - 運行完釋放、動態分配大小 - ApplicationMaster - 任務運行時的管理者 - 分配任務給 MapTask - 跟`ResourceManager`請求任務  - [圖片來源](https://img2020.cnblogs.com/blog/2114512/202111/2114512-20211124203943202-1819864049.png) * MapReduce * Map 大工作拆解成小工作 * Reduce 各小工作合併成完整檔案 ### <p class="text-center">搜尋檔案</p> ```mermaid flowchart LR id1{{搜尋檔案 happy.avi}} --> hadoop001 id1{{搜尋檔案 happy.avi}} --> hadoop002 id1{{搜尋檔案 happy.avi}} -- Map --> hadoop003 id1{{搜尋檔案 happy.avi}} --> hadoop004 id1{{搜尋檔案 happy.avi}} --> hadoop999 hadoop001 --> id2[[520MB happy.avi]] hadoop002 --> id2[[520MB happy.avi]] hadoop003 -- Reduce --> id2[[520MB happy.avi]] hadoop004 --> id2[[520MB happy.avi]] hadoop999 --> id2[[520MB happy.avi]] ``` ## Apache HBase * 運作在 HDFS 的分散式資料庫 ## Docker Network | Network Mode | description | | -------- | -------- | | none | 無網路 | | host | 直接使用本機網路 | | bridge (default) | 與 container 溝通 | | overlay | 不同電腦上 container 溝通 | ###### 參考資料 https://www.youtube.com/watch?v=JTKvhw_ppHw&list=PLmOn9nNkQxJECK87zGkugJmfx6yXEQt-F&index=14
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up