【hadoop是什麼?】
1)hadoop 是乙個由 apache **會所開發的分布式系統基礎架構.
2)主要解決,海量資料的儲存和海量資料的分析計算問題。
3)廣義上來說,hadoop 通常是指乙個更廣泛的概念——hadoop 生態圈。
【hadoop三大發行版本】
hadoop 三大發行版本:apache、cloudera、hortonworks。
apache 版本最原始(最基礎)的版本,對於入門學習最好。
cloudera 在大型網際網路企業中用的較多。
hortonworks 文件較好。
【hadoop的優勢】
1)高可靠性:hadoop 底層維護多個資料副本,所以即使 hadoop 某個計算元素或儲存出現故障,也不會導致資料的丟失。
2)高擴充套件性:在集群間分配任務資料,可方便的擴充套件數以千計的節點。
3)高效性:在 mapreduce 的思想下,hadoop 是並行工作的,以加快任務處理速度。
4)高容錯性:能夠自動將失敗的任務重新分配
【hadoop的組成】
hadoop 1.x的組成
1)hadoop hdfs:乙個高可靠、高吞吐量的分布式檔案系統。
2)hadoop mapreduce:乙個分布式的資源排程和離線平行計算框架。
3)hadoop common:支援其他模組的工具模組(configuration、rpc、序列化機制、日誌操作)。
在 hadoop2.x 時代,增加了 yarn。yarn 只負責資源的排程,mapreduce 只負責運算。
1)hadoop hdfs:乙個高可靠、高吞吐量的分布式檔案系統。
2)hadoop yarn:作業排程與集群資源管理的框架。
3)hadoop mapreduce:乙個分布式的離線平行計算框架。
4)hadoop common:支援其他模組的工具模組(configuration、rpc、序列化機制、日誌操作)。
【hdfs 架構概述】
1)namenode(nn):儲存檔案的元資料,如檔名,檔案目錄結構,檔案屬性(生成時間、副本數、檔案許可權),以及每個檔案的塊列表和塊所在的datanode等。
2)datanode(dn):在本地檔案系統儲存檔案塊資料,以及塊資料的校驗和。
3)secondary namenode(2nn):用來監控hdfs狀態的輔助後台程式,每隔一段時間獲取hdfs元資料的快照。
【yarn 架構概述】
【mapreduce 架構概述】
mapreduce 將計算過程分為兩個階段:map 和 reduce
1)map 階段並行處理輸入資料
2)reduce 階段對 map 結果進行彙總
【大資料技術生態體系】
圖中涉及的技術名詞解釋如下:
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 為分布式實時計算提供了一組通用原語,可被用於「流處理」之中,實時處理訊息並更新資料庫。這是管理佇列及工作者集群的另一種方式。 storm也可被用於「連續計算」(continuous computation),對資料流做連續查詢,在計算時就將結果以流的形式輸出給使用者。
5)spark:spark 是當前最流行的開源大資料記憶體計算框架。可以基於 hadoop 上儲存的大資料進行計算。
6)oozie:oozie 是乙個管理 hdoop 作業(job)的工作流程排程管理系統。oozie 協調作業就是通過時間(頻率)和有效資料觸發當前的 oozie 工作流程。
7)hbase:hbase 是乙個分布式的、面向列的開源資料庫。hbase 不同於一般的關聯式資料庫,它是乙個適合於非結構化資料儲存的資料庫。
8)hive:hive 是基於 hadoop 的乙個資料倉儲工具,可以將結構化的資料檔案對映為一張資料庫表,並提供簡單的 sql 查詢功能,可以將 sql 語句轉換為 mapreduce 任務進行執行。其優點是學習成本低,可以通過類 sql 語句快速實現簡單的 mapreduce 統計,不必開發專門的 mapreduce 應用,十分適合資料倉儲的統計分析。
10)r 語言:r 是用於統計分析、繪圖的語言和操作環境。r 是屬於 gnu 系統的乙個自由、免費、源**開放的軟體,它是乙個用於統計計算和統計製圖的優秀工具。
11)mahout:
apache mahout 是個可擴充套件的機器學習和資料探勘庫,當前 mahout 支援主要的 4 個用例:
分類:從現有的分類文件中學習,尋找文件中的相似特徵,並為無標籤的文件進行正確的歸類。
頻繁項集挖掘:將一組項分組,並識別哪些個別項會經常一起出現。
12)zookeeper:zookeeper 是 google 的 chubby 乙個開源的實現。它是乙個針對大型分布式系統的可靠協調系統,提供的功能包括:配置維護、名字服務、 分布式同步、組服務等。zookeeper 的目標就是封裝好複雜易出錯的關鍵服務,將簡單易用的介面和效能高效、功能穩定的系統提供給使用者。
大資料框架Hadoop教程
hadoop是乙個開源框架,它允許在整個集群使用簡單程式設計模型計算機的分布式環境儲存並處理大資料。它的目的是從單一的伺服器到上千臺機器的擴充套件,每乙個台機都可以提供本地計算和儲存。90 的世界資料在過去的幾年中產生 由於新技術,裝置和類似的社交 通訊裝置的出現,人類產生的資料量每年都在迅速增長。...
Hadoop大資料開發框架學習
hadoop是apache發布的開源分布式基礎架構 他的兩個核心是 兩部分就組成了hadoop的分布式基礎架構 hdfs作為hadoop為儲存海量資料,自然有著與傳統檔案系統有著不同的結構,它是以linux檔案系統的基礎的架構,構建裡一套分布式檔案系統,它是由乙個namenode和多台datanod...
大資料之Hadoop框架(一)
三 hadoop應用 四 hadoop優勢及意義 quad quad apache hadoop 是乙個開源的,可靠的 reliable 可擴充套件的 scalable 用於大資料儲存 計算 分析的分布式儲存系統和分布式計算框架。quad quad hdfs hadoop distributed f...