Hadoop快速入門
1、什麽是Hadoop
1). HADOOP是apache旗下的一套開源軟件平臺
2). HADOOP提供的功能:利用服務器集群,根據用戶的自定義業務邏輯,對海量數據進行分布式處理
3). HADOOP的核心組件有
A). HDFS(分布式文件系統)
B). YARN(運算資源調度系統)
C). MAPREDUCE(分布式運算編程框架)
4). 廣義上來說,HADOOP通常是指一個更廣泛的概念——HADOOP生態圈
5).雲計算是分布式計算、並行計算、網格計算、多核計算、網絡存儲、虛擬化、負載均衡等傳統計算機技術和互聯網技術融合發展的產物
6).國內外Hadoop應用案例介紹
1、HADOOP應用於數據服務基礎平臺建設
2、HADOOP用於用戶畫像
3、HADOOP用於網站點擊流日誌數據挖掘
7).重點組件
HDFS:分布式文件系統
MAPREDUCE:分布式運算程序開發框架
HIVE:基於大數據技術(文件系統+運算框架)的SQL數據倉庫工具,使用方便,功能豐富,基於MR延遲大
HBASE:基於HADOOP的分布式海量數據庫,離線分析和在線業務通吃
ZOOKEEPER:分布式協調服務基礎組件
Mahout:基於mapreduce/spark/flink等分布式運算框架的機器學習算法庫
Oozie:工作流調度框架
Sqoop:數據導入導出工具
Flume:日誌數據采集框架
(HADOOP(hdfs、MAPREDUCE、yarn) 元老級大數據處理技術框架,擅長離線數據分析)
8).分布式軟件系統(distributed software system)
該軟件系統會劃分成多個子系統或模塊,各自運行在不同的機器上,子系統或模塊之間通過網絡通信進行協作,實現最終的整體功能
總結:利用多個節點共同協作完成一項或多項具體業務功能的系統就是分布式系統。
9).數據處理流程
采集數據——》數據預處理——》導入HIVE倉庫——》ETL——》報表統計——》結果導出到MYSQL——》數據可視化
1) 數據采集:定制開發采集程序,或使用開源框架FLUME
2) 數據預處理:定制開發mapreduce程序運行於hadoop集群
3) 數據倉庫技術:基於hadoop之上的Hive
4) 數據導出:基於hadoop的sqoop數據導入導出工具
5) 數據可視化:定制開發web程序或使用kettle等產品
6) 整個過程的流程調度:hadoop生態圈中的,azkaban,oozie工具或其他類似開源產品
2、集群簡介
HADOOP集群具體來說包含兩個集群:HDFS集群和YARN集群,兩者邏輯上分離,但物理上常在一起
HDFS集群:
負責海量數據的存儲,集群中的角色主要有 NameNode / DataNode
YARN集群:
負責海量數據運算時的資源調度,集群中的角色主要有 ResourceManager /NodeManager
Hadoop快速入門