1.google 搜索引擎的java
海量的網頁數據如何存儲的問題? 海量網頁數據如何計算? 海量網頁數據快速查詢? 解決以後 ,並沒開源,也沒有公開解決思路
2.Doug Cuttingnode
搜索引擎 lucence 子項目 Nutch 爬蟲 遇到和google一樣的問題 2003年 google 發佈了3篇論文 GFS---- GOOGLE FILE SYSTEM google的文件系統 MAPREDUCE--- google的分佈式計算方案 BIGTABLE--- google的分佈式數據庫 doug cutting 將google的3篇論文 使用java語言實現了 而且開源 貢獻給apache GFS--- HDFS MAPREDUCE---MAPREDUCE BIGTABLE---HBASE
海量數據的存儲 海量數據的計算 hadoop1.0 分爲2個模塊: hdfs mapreduce
hadoop2.0: hadoop common: 工具類 hdfs --(hadoop distributed file system): hadoop的分佈式文件系統 mapreduce: hadoop的分佈式計算服務 yarn :hadoop的分佈式資源調度框架
hdfs 存儲 mapreduce 計算 yarn 資源調度 操做系統 文件系統 計算程序 windows windows NTFS qq,微信 hadoop YARN HDFS MAPREDUCE
hadoop基於普通廉價機的 提供高可用 高擴展 高容錯的分佈式存儲計算服務的web
hadoop 設計的時候 考慮到 集羣中任何一個節點 任什麼時候間 都有可能出故障 hadoop已經規避了數據庫
一主多從 一助理
3個角色apache
namenode 分佈式存儲的老大 管理每一個節點上存儲數據的編號 對應關係 datanode 負責真正的數據存儲的 真正幹活的 secondarynamenode namenode的助理 備份namenode的數據 幫助namenode減壓
分佈式計算程序 安裝完成 沒有對應進程
服務於計算程序的windows
主從 resourcemanager: 資源調度的老大 決定哪個計算任務須要多少資源 在哪個節點分配資源的 nodemanager : 提供資源運行任務的