您好,登錄后才能下訂單哦!
本篇內容介紹了“Hadoop的特點是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Hadoop出現的原因:現在的我們,生活在數據大爆炸的年代。國際數據公司已經預測在2020年,全球的數據總量將達到44ZB,經過單位換算后,至少在440億TB以上,也就是說,全球每人一塊1TB的硬盤都存儲不下。
一些數據集的大小更遠遠超過了1TB,也就是說,數據的存儲是一個要解決的問題。同時,硬盤技術也面臨一個技術瓶頸,就是硬盤的傳輸速度(讀數據的速度)的提升遠遠低于硬盤容量的提升。
容量提升了將近1000倍,而傳輸速度才提升了20倍,讀完一個硬盤的所需要的時間相對來說,更長更久了(已經違反了數據價值的即時性)。讀數據都花了這么長時間,更不用說寫數據了。
對于如何提高讀取數據的效率,我們已經想到解決的方法了,那就是將一個數據集存儲到多個硬盤里,然后并行讀取。比如1T的數據,我們平均100份存儲到100個1TB硬盤上,同時讀取,那么讀取完整個數據集的時間用不上兩分鐘。至于硬盤剩下的99%的容量,我們可以用來存儲其他的數據集,這樣就不會產生浪費。解決讀取效率問題的同時,我們也解決了大數據的存儲問題。
但是,我們同時對多個硬盤進行讀/寫操作時,又有了新的問題需要解決:
1、硬件故障問題。一旦使用多個硬件,相對來說,個別硬件產生故障的幾率就高,為了避免數據丟失,最常見的做法就是復制(replication):文件系統保存數據的多個復本,一旦發生故障,就可以使用另外的復本。
2、讀取數據的正確性問題。大數據時代的一個分析任務,就需要結合大部分數據來共同完成分析,因此從一個硬盤上讀取的數據要與從其他99個硬盤上讀取的數據結合起來使用。那么,在讀取過程中,如何保證數據的正確性,就是一個很大的挑戰。
有人會想,既然使用了多個硬盤,為什么不用配有多個硬盤的關系型數據庫來進行數據的存儲和分析呢?其實,這個主要取決于硬盤發展的一個技術限制,那就是需要尋址操作。我們從關系型數據庫中讀取數據包含著大量的尋址操作,那么尋址所產生的時間開銷必然會大大的增加,再加上讀取數據的時間,就更加漫長了。還有一個原因,關系型數據庫不適合存儲半結構化和非結構化的數據,而這個時代,半結構化和非結構化的數據占90%,而結構化數據只占10%。
針對于上述幾個問題,Hadoop為我們提供了一個可靠的且可擴展的存儲和分析平臺,此外,由于Hadoop運行在商用硬件上且是開源的,因此Hadoop的使用成本是比較低了,在用戶的承受范圍內。
Hadoop是Apache基金會旗下的一個開源的分布式計算平臺,是基于Java語言開發的,有很好的跨平臺特性,并且可以部署在廉價的計算機集群中。用戶無需了解分布式底層細節,就可以開發分布式程序,充分利用集群的威力進行高速運算和存儲。
最初,Hadoop的核心技術是HDFS和MapReduce。
HDFS是Hadoop分布式文件系統(Hadoop Distributed File System)的簡稱,它具有較高的讀寫速度,很好的容錯性和可伸縮性,為海量的數據提供了分布式存儲,其冗余數據存儲的方式很好的保證了數據的安全性。
MapReduce是一種用于并行處理大數據集的軟件框架(編程模型)。用戶可在無需了解底層細節的情況下,編寫MapReduce程序進行分析和處理分布式文件系統上的數據,MapReduce保證了分析和處理數據的高效性。
因其在分布式環境下提供了高效的,海量的數據的優秀處理能力,Hadoop被公認為大數據行業中的標準開源軟件。幾乎所有主流的廠商如谷歌,雅虎,微軟,淘寶等等這樣的大公司都是圍繞Hadoop進行提供開發工具,開源軟件,商業化工具或技術服務的。
在Hadoop2.0以后,又引入了另一個核心技術:YARN(Yet Another Resource Negotiator)。它是一個任務調度和集群資源管理系統,主要有兩類長期運行的守護線程來提供自己的核心服務:一類是用于管理集群上資源使用的資源管理器(Resouce Manager),另一類是運行在集群中各個節點上且能夠啟動和監控容器(container)的節點管理器(Node Manager)。
發展到現在的Hadoop3.x可以概括成以下五個模塊:
Hadoop Common:由原來的Hadoop core更名而來。以前的版本中core包含HDFS、MapReduce及其其他公共部分。后來HDFS和MapReuce被分離出來作為獨立的子項目,剩下的公共部分更名為Common。主要包括系統配置工具Configuration、遠程過程調用RPC、序列化機制和Hadoop抽象文件系統FileSystem等。它們為在通用硬件上搭建云計算環境提供基本的服務,并為運行在該平臺上的軟件開發提供了所需的API。
Hadoop HDFS:Hadoop的核心技術之一,分布式文件系統
Hadoop YARN:Hadoop2.0以后新增的一個核心技術,資源管理系統
Hadoop MapReduce:Hadoop的核心技術之一,編程模型,用于大規模數據集的并行計算。
Hadoop Ozone:HDFS的一個擴展方向,對象存儲技術。
關于Hadoop這個名字的由來,該項目的創建者Doug Cutting是這樣解釋的:“這個名字是我孩子給一個棕黃色的大象玩具命名的。我的命名標準就是簡短,容易發音和拼寫,沒有太多的意義,并且不會被用于別處。小孩子恰恰是這方面的高手。”
Hadoop的發音是 [h?du:p]。
Hadoop由知名項目Apache Lucene的創始人道格·卡丁(doug Cutting)創建。
它起源于Apache Nutch 項目(一個網頁爬取工具和搜索引擎系統,后來遇到大數據量的網頁存儲問題)。
2003年,谷歌發表的一篇論文(描述的是“谷歌分布式文件系統”,簡稱GFS)給了Apache Nutch項目的開發者靈感。
2004年,Nutch的開發者開始著手 NDFS(Nutch的分布式文件系統)。
2004年 ,谷歌又發表了一篇介紹MapReduce系統的論文。
2005年,Nutch項目實現了一個MapReduce系統
2006年,開發人員將NDFS和MapReduce移出Nutch項目形成一個子項目,命名Hadoop
2008年,Hadoop已稱為Apache的頂級項目。
2008年4月,Hadoop打破世界記錄,成為最快排序1TB數據的系統,排序時間為209秒
2009年,Hadoop把1TB數據的排序時間縮短到62秒。
從此名聲大噪,現在很多公司都在使用,如雅虎,last.fm,FaceBook,《紐約時報》等等
目前Hadoop的版本發展,hadoop1.x > hadoop2.x > hadoop3.x
Hadoop因為是基于Java語言開發的,因此最理想的運行平臺就是Linux系統了。它也支持多種編程語言,如C++,PHP等等。
也可以總結出以下優點:
高可靠型。Hadoop按位存儲和處理數據的能力值得人們信賴。
高效性。Hadoop能夠在節點之間動態地移動數據,并保證各個節點的動態平衡,因此處理速度非常快,可以處理PB級數據。
高可擴展性。Hadoop的設計目標是可以高效的穩定的運行在廉價的計算機集群上,可以擴展到數以千計的計算機節點。
高容錯性。采用冗余數據存儲方式,自動保存數據的多個復本,并且能夠自動將失敗的任務進行重新分配
成本低。Hadoop采用廉價的計算機集群,成本比較低,普通用戶也可以使用自己的電腦來搭建Hadoop環境
“Hadoop的特點是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。