hadoop是乙個分布式儲存和計算平台。
主要解決海量資料的儲存與分析計算問題
1)高可靠性:hadoop底層維護多個資料副本,所以即使hadoop某個計算元素或儲存出現故障,也不會導致資料的丟失。
2)高擴充套件性:在集群間分配任務資料,可方便的擴充套件數以乾計的節點。
3)高效性:在mapreduce的思想下,hadoop是並行工作的,以加快任務處理速度。
4)高容錯性:能夠自動將失敗的任務重新分配。
圖中涉及的技術名詞解釋如下:
1)sqoop:sqoop是一款開源的工具,主要用於在hadoop、hive與傳統的資料庫(mysql)間進行資料的傳遞,可以將乙個關係型資料庫(例如 :mysql,oracle 等)中的資料導進到hadoop的hdfs中,也可以將hdfs的資料導進到關係型資料庫中。
2)flume:flume是cloudera提供的乙個高可用的,高可靠的,分布式的海量日誌採集、聚合和傳輸的系統,flume支援在日誌系統中定製各類資料傳送方,用於收集資料;同時,flume提供對資料進行簡單處理,並寫到各種資料接受方(可定製)的能力。
3)kafka:kafka是一種高吞吐量的分布式發布訂閱訊息系統,有如下特性:
(1)通過o(1)的磁碟資料結構提供訊息的持久化,這種結構對於即使數以tb的訊息儲存也能夠保持長時間的穩定性能。
(2)高吞吐量:即使是非常普通的硬體kafka也可以支援每秒數百萬的訊息。
(3)支援通過kafka伺服器和消費機集群來分割槽訊息。
(4)支援hadoop並行資料載入。
4)storm:storm用於「連續計算」,對資料流做連續查詢,在計算時就將結果以流的形式輸出給使用者。
5)spark:spark是當前最流行的開源大資料記憶體計算框架。可以基於hadoop上儲存的大資料進行計算。
6)oozie:oozie是乙個管理hdoop作業(job)的工作流程排程管理系統。
7)hbase:hbase是乙個分布式的、面向列的開源資料庫。hbase不同於一般的關聯式資料庫,它是乙個適合於非結構化資料儲存的資料庫。
8)hive:hive是基於hadoop的乙個資料倉儲工具,可以將結構化的資料檔案對映為一張資料庫表,並提供簡單的sql查詢功能,可以將sql語句轉換為mapreduce任務進行執行。 其優點是學習成本低,可以通過類sql語句快速實現簡單的mapreduce統計,不必開發專門的mapreduce應用,十分適合資料倉儲的統計分析。
10)r語言:r是用於統計分析、繪圖的語言和操作環境。r是屬於gnu系統的乙個自由、免費、源**開放的軟體,它是乙個用於統計計算和統計製圖的優秀工具。
11)mahout:apache mahout是個可擴充套件的機器學習和資料探勘庫。
12)zookeeper:zookeeper是google的chubby乙個開源的實現。它是乙個針對大型分布式系統的可靠協調系統,提供的功能包括:配置維護、名字服務、 分布式同步、組服務等。zookeeper的目標就是封裝好複雜易出錯的關鍵服務,將簡單易用的介面和效能高效、功能穩定的系統提供給使用者。
Hadoop生態系統
摘要 介紹hadoop生態系統,從hadoop生態系統有什麼成員,成員能做什麼和hadoop生態系統能夠提供大資料問題解決方案兩方面來認識。hadoop生態圖,通俗地說,就是hadoop核心模組和衍生的子專案。一幅hadoop生態圖,讓我想到了兩個問題。問題一 hadoop生態系統包括哪些成員?每個...
Hadoop生態系統
hadoop生態系統 廣義的hadoop hdfs 檔案儲存系統基於硬碟 yarn 資源排程框架 mapreduce 分布式處理框架 hive 資料倉儲 rconnections 資料分析 mahout 機器學習庫 pig 指令碼語言,跟hive類似 oozie 工作流引擎,管理作業執行順序 zoo...
Hadoop生態系統
hadoop生態系統如下圖所示 hdfs hadoop distributed file system 是分布式檔案系統,是針對谷歌開發的分布式檔案系統gfs google file system 的開源實現,是hadoop兩大核心組成部分之一。hdfs有namenode和datanode兩部分,n...