hadoop(一)入門
hadoop入門(一)
一、概述
1.什麼是hadoop
hadoop不僅是一個用於儲存分散式檔案系統,還是設計用來在有通用計算裝置組成的大型叢集上執行的分散式應用的基礎框架。
hadoop框架最核心的設計是mapreduce和HDFS
1.2為什麼要選擇hadoop
1)擴容:能可靠的處理和儲存PB級資料
2)成本:可以通過普通機器組成伺服器群來分發和處理資料,這些伺服器總計可大上千節點
3)高效:通過分發資料,hadoop可以並行處理這些資料,使它們特別快速
4)可靠:hadoop可以通過機器感知進行資料備份,並且任務失敗後可以重新計算
12.2使用場景
主要用於海量資料分析
二、分散式檔案系統HDFS
1.1Namedata:名稱節點
1)維護HDFS檔案系統,是HDFS的主節點
2)接收客戶端的請求:上傳檔案、下載檔案、建立檔案等等
3)記錄客戶端操作的日誌(edits檔案),儲存HDFS最新狀態
-edits檔案儲存了自最後一次檢查點之前針對HDFS的所有操作,如:增加檔案,重命 名,刪除檔案
-儲存目錄:
HADOOP_HOME/tmp/dfs/name/current
-可以使用hdfs oiv -i 命令將日誌(二進位制)輸出為文字
1.2DataNode:資料節點
1)以資料塊為單位,儲存資料
hadoop1.0的資料塊單位為64M
hadoop2.0的資料塊單位為128M
2)在全分散式模式下,至少兩個DataNode節點
3)資料儲存的目錄:由hadoop.tmp.dir決定
1.2SecondayNameNode:第二人稱節點
1.主要作用是日誌合併
2.日誌合併的過程
1.3HDFS存在的問題
1.NameNode單點故障,難以應用二線上場景
解決方案:hadoop1.0沒有解決方法
hadoop2.0使用Zookeeper實現NameNod的HA功能
2.NameNode壓力過大,且記憶體受限,影響系統擴充套件性
解決方案
hadoop1.0 中沒有解決方案
hadoop2.0 使用NameNode的聯盟實現其水平擴充套件
1.4YARN:分散式計算(MapReduce)
ResourceManager(資源管理器)
1.接收客戶端的請求:執行任務
2.分配資源
3.分配任務
NodeManager(節點管理器:執行任務MapReduce)
1.從Data上獲取資料,執行任務