更新時間:2019-08-20 11:26:49 來源:動力節點 瀏覽2621次
Hadoop是一個由Apache基金會所開發的分布式系統基礎架構。
Hadoop是一個專為離線和大規模數據分析而設計的,并不適合那種對幾個記錄隨機讀寫的在線事務處理模式。
Hadoop=HDFS(文件系統,數據存儲技術相關)+Mapreduce(數據處理),Hadoop的數據來源可以是任何形式,在處理半結構化和非結構化數據上與關系型數據庫相比有更好的性能,具有更靈活的處理能力,不管任何數據形式最終會轉化為key/value,key/value是基本數據單元。
用函數式變成Mapreduce代替SQL,SQL是查詢語句,而Mapreduce則是使用腳本和代碼,而對于適用于關系型數據庫,習慣SQL的Hadoop有開源工具hive代替。
hadoop使用Java編寫,版本較為混亂,初學者可從1.2.1開始學習
1.成百上千臺服務器組成集群,需要時刻檢測服務器是否故障
2.用流讀取數據更加高效快速
3.存儲節點具有運算功能,省略了服務器之間來回傳數據的網絡帶寬限制
4.一次寫入,多次訪問,不修改數據
5.多平臺
namenode:master,負責總體調度,處理協調請求等
?。ㄒ粋€集群只能有一個namenode,但是可以多個集群組成一個更大的集群,這時就有多個namenode,這時的namenode有兩種狀態,一種叫active并且一個大集群只能有一個namenode處于該狀態,一種為standby)
namenode兩大功能:接受客戶端讀寫服務,存放元數據(DataNode存儲的位置等基本信息,fsimage和edits文件)
fsimage是namenode格式化時產生的,edits是用戶操作增刪改查的時候生成的日志
datanode:slave,存儲節點,會備份,一般本地2分,其他服務器一份
機架:多個DataNod節點組成,master通過機架感知技術得知所需數據的位置
數據塊:存儲單元,一般64M(hadoop2中是128M)
時刻保持心跳通訊,保證每個數據都備份于3個節點上
5的read為第一個數據塊讀完后,讀下一個數據塊,如果在讀取過程中某一個數據塊出問題,則會記錄下來并且找其他的備份,并且以后不再讀取錯誤數據塊
map負責分批運算,如果要統計1TB數據中my的出線次數,則可以啟用100個map,每個map統計0.01TB數據,最終由reduce匯總
作業(Job):運行一個MapReduce所需要用到的所有jar組件
任務(Task):mapTask和ReduceTask
Key相同的結果進行reduce統計合并
作業提交一般提交jar包和配置文件
調度一般來說默認采取FIFO調度,即先考慮優先級,然后先進先出
TaskTracker會不斷想JobTracker傳達任務信息,如果空閑會主動申請作業
一般的生產環境都是完全分布式模式。
需要資料的可以登錄動力節點IT培訓官網咨詢在線客服老師,打包好了一些Java的基礎資料和一些進階資料。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習