平特心水报图
新網絡營銷基礎與實踐

你的位置:首頁 >網絡營銷 >hadoop

hadoop

Hadoop是一個由Apache基金會所開發的分布式系統基礎架構。用戶可以在不了解分布式底層細節的情況下,開發分布式程序,并充分利用集群的威力進行高速運算和存儲。
Hadoop實現了一個分布式文件系統(Hadoop Distributed File System),簡稱HDFS。HDFS有高容錯性的特點,并且設計用來部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)來訪問應用程序的數據,適合那些有著超大數據集(large data set)的應用程序。HDFS放寬了(relax)POSIX的要求,可以以流的形式訪問(streaming access)文件系統中的數據。
Hadoop的優點
1.高可靠性。Hadoop按位存儲和處理數據的能力值得人們信賴。
2.高擴展性。Hadoop是在可用的計算機集簇間分配數據并完成計算任務的,這些集簇可以方便地擴展到數以千計的節點中。
3.高效性。Hadoop能夠在節點之間動態地移動數據,并保證各個節點的動態平衡,因此處理速度非常快。
4.高容錯性。Hadoop能夠自動保存數據的多個副本,并且能夠自動將失敗的任務重新分配。
5.低成本。與一體機、商用數據倉庫以及QlikView、Yonghong Z-Suite等數據集市相比,hadoop是開源的,項目的軟件成本因此會大大降低。
Hadoop核心架構
Hadoop框架最核心的設計就是:HDFS和MapReduce。HDFS為海量的數據提供了存儲,而MapReduce為海量的數據提供了計算。MapReduce和Hadoop是相互獨立的,實際上又能相互配合工作得很好。
HDFS
對外部客戶機而言,HDFS就像一個傳統的分級文件系統,可以創建、刪除、移動或重命名文件,等等。但是 HDFS 的架構是基于一組特定的節點構建的,這是由它自身的特點決定的。這些節點包括 NameNode(僅一個),它在 HDFS 內部提供元數據服務;DataNode,它為 HDFS 提供存儲塊。由于僅存在一個 NameNode,因此這是 HDFS 的一個缺點(單點失敗)。
存儲在 HDFS 中的文件被分成塊,然后將這些塊復制到多個計算機(DataNode),這與傳統的 RAID 架構大不相同。塊的大小(通常為 64MB)和復制的塊數量在創建文件時由客戶機決定。NameNode 可以控制所有文件操作。HDFS 內部的所有通信都基于標準的 TCP/IP 協議。
NameNode
NameNode 是一個通常在 HDFS 實例中的單獨機器上運行的軟件,它負責管理文件系統名稱空間和控制外部客戶機的訪問。NameNode 決定是否將文件映射到 DataNode 上的復制塊上。對于最常見的 3 個復制塊,第一個復制塊存儲在同一機架的不同節點上,最后一個復制塊存儲在不同機架的某個節點上。注意,這里需要您了解集群架構。
實際的 I/O事務并沒有經過 NameNode,只有表示 DataNode 和塊的文件映射的元數據經過 NameNode。當外部客戶機發送請求要求創建文件時,NameNode 會以塊標識和該塊的第一個副本的 DataNode IP 地址作為響應。這個 NameNode 還會通知其他將要接收該塊的副本的 DataNode。
NameNode 在一個稱為 FsImage 的文件中存儲所有關于文件系統名稱空間的信息。這個文件和一個包含所有事務的記錄文件(這里是 EditLog)將存儲在 NameNode 的本地文件系統上。FsImage 和 EditLog 文件也需要復制副本,以防文件損壞或 NameNode 系統丟失。
DataNode
DataNode 也是一個通常在 HDFS實例中的單獨機器上運行的軟件。Hadoop 集群包含一個 NameNode 和大量 DataNode。DataNode 通常以機架的形式組織,機架通過一個交換機將所有系統連接起來。Hadoop 的一個假設是:機架內部節點之間的傳輸速度快于機架間節點的傳輸速度。
DataNode 響應來自 HDFS 客戶機的讀寫請求。它們還響應來自 NameNode 的創建、刪除和復制塊的命令。NameNode 依賴來自每個 DataNode 的定期心跳(heartbeat)消息。每條消息都包含一個塊報告,NameNode 可以根據這個報告驗證塊映射和其他文件系統元數據。如果 DataNode 不能發送心跳消息,NameNode 將采取修復措施,重新復制在該節點上丟失的塊。
Hadoop大數據處理的意義
Hadoop得以在大數據處理應用中廣泛應用得益于其自身在數據提取、變形和加載(ETL)方面上的天然優勢。Hadoop的分布式架構,將大數據處理引擎盡可能的靠近存儲,對例如像ETL這樣的批處理操作相對合適,因為類似這樣操作的批處理結果可以直接走向存儲。Hadoop的MapReduce功能實現了將單個任務打碎,并將碎片任務(Map)發送到多個節點上,之后再以單個數據集的形式加載(Reduce)到數據倉庫里。
Hadoop 技術雖然已經被廣泛應用,但是該技術無論在功能上還是在穩定性等方面還有待進一步完善,所以還在不斷開發和不斷升級維護的過程中,新的功能也在不斷地被添加和引入,讀者可以關注Apache Hadoop的官方網站了解最新的信息。得益于如此多廠商和開源社區的大力支持,相信在不久的將來,Hadoop 也會像當年的Linux 一樣被廣泛應用于越來越多的領域,從而風靡全球。

網絡營銷詞典內容均由網友提供,僅供參考。

平特心水报图 山西十一选五开奖查询 七星彩开奖直播电视台频道 排三组三3码遗漏 安徽十一选五一定牛遗漏 6开奖现场直播 网上五分彩是什么彩票 北京pk10冠亚组合套利 潘阳865棋牌下载 山东群英会出号走势图 全民娱乐棋牌明天送6元