
Hadoop實現了一個分布式http://www.gxlcms.com/code/4814.html" target="_blank">文件系統(HadoopDistributedFileSystem),簡稱HDFS。HDFS有高容錯性的特點,并且設計用來部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(highthroughput)來訪問應用程序的數據,適合那些有著超大數據集(largedataset)的應用程序。HDFS放寬了(relax)POSIX的要求,可以以流的形式訪問(streamingaccess)文件系統中的數據。
Hadoop的框架最核心的設計就是:HDFS和MapReduce。HDFS為海量的數據提供了存儲,則MapReduce為海量的數據提供了計算。一句話來講Hadoop就是存儲加計算。
Hadoop這個名字不是一個縮寫,而是一個虛構的名字。該項目的創建者,DougCutting解釋Hadoop的得名:“這個名字是我孩子給一個棕黃色的大象玩具命名的。
Hadoop是一個能夠讓用戶輕松架構和使用的分布式計算平臺。用戶可以輕松地在Hadoop上開發和運行處理海量數據的應用程序。它主要有以下幾個優點:
1、高可靠性Hadoop按位存儲和處理數據的能力值得人們信賴。
2、高擴展性Hadoop是在可用的計算機集簇間分配數據并完成計算任務的,這些集簇可以方便地擴展到數以千計的節點中。
3、高效性Hadoop能夠在節點之間動態地移動數據,并保證各個節點的動態平衡,因此處理速度非???。
4、高容錯性Hadoop能夠自動保存數據的多個副本,并且能夠自動將失敗的任務重新分配。
5、低成本與一體機、商用數據倉庫以及QlikView、YonghongZ-Suite等數據集市相比,hadoop是開源的,項目的軟件成本因此會大大降低。
Hadoop帶有用java語言編寫的框架,因此運行在Linux生產平臺上是非常理想的。Hadoop上的應用程序也可以使用其他語言編寫,比如C++。
Hadoop大數據處理的意義
Hadoop得以在大數據處理應用中廣泛應用得益于其自身在數據提取、變形和加載(ETL)方面上的天然優勢。Hadoop的分布式架構,將大數據處理引擎盡可能的靠近存儲,對例如像ETL這樣的批處理操作相對合適,因為類似這樣操作的批處理結果可以直接走向存儲。Hadoop的MapReduce功能實現了將單個任務打碎,并將碎片任務(Map)發送到多個節點上,之后再以單個數據集的形式加載(Reduce)到數據倉庫里。
PHP中文網Hadoop學習路線資料:
1、HadoopCommon:Hadoop體系最底層的一個模塊,為Hadoop各子項目提供各種工具,如:配置文件和日志操作等。
2、HDFS:分布式文件系統,提供高吞吐量的應用程序數據訪問,對外部客戶機而言,HDFS就像一個傳統的分級文件系統??梢詣摻?、刪除、移動或重命名文件,等等。但是HDFS的架構是基于一組特定的節點構建的(參見圖1),這是由它自身的特點決定的。這些節點包括NameNode(僅一個),它在HDFS內部提供元數據服務;DataNode,它為HDFS提供存儲塊。由于僅存在一個NameNode,因此這是HDFS的一個缺點(單點失敗)。
存儲在HDFS中的文件被分成塊,然后將這些塊復制到多個計算機中(DataNode)。這與傳統的RAID架構大不相同。塊的大小(通常為64MB)和復制的塊數量在創建文件時由客戶機決定。NameNode可以控制所有文件操作。HDFS內部的所有通信都基于標準的TCP/IP協議。
3、MapReduce:一個分布式海量數據處理的軟件框架集計算集群。
4、Avro:dougcutting主持的RPC項目,主要負責數據的序列化。有點類似Google的protobuf和Facebook的thrift。avro用來做以后hadoop的RPC,使hadoop的RPC模塊通信速度更快、數據結構更緊湊。
5、Hive:類似CloudBase,也是基于hadoop分布式計算平臺上的提供datawarehouse的sql功能的一套軟件。使得存儲在hadoop里面的海量數據的匯總,即席查詢簡單化。hive提供了一套QL的查詢語言,以sql為基礎,使用起來很方便。
6、HBase:基于HadoopDistributedFileSystem,是一個開源的,基于列存儲模型的可擴展的分布式數據庫,支持大型表的存儲結構化數據。
7、Pig:是一個并行計算的高級的數據流語言和執行框架,SQL-like語言,是在MapReduce上構建的一種高級查詢語言,把一些運算編譯進MapReduce模型的Map和Reduce中,并且用戶可以定義自己的功能。
8、ZooKeeper:Google的Chubby一個開源的實現。它是一個針對大型分布式系統的可靠協調系統,提供的功能包括:配置維護、名字服務、分布式同步、組服務等。ZooKeeper的目標就是封裝好復雜易出錯的關鍵服務,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。
9、Chukwa:一個管理大型分布式系統的數據采集系統由yahoo貢獻。
10、Cassandra:無單點故障的可擴展的多主數據庫。
11、Mahout:一個可擴展的機器學習和數據挖掘庫。
Hadoop設計之初的目標就定位于高可靠性、高可拓展性、高容錯性和高效性,正是這些設計上與生俱來的優點,才使得Hadoop一出現就受到眾多大公司的青睞,同時也引起了研究界的普遍關注。到目前為止,Hadoop技術在互聯網領域已經得到了廣泛的運用。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com