大數據生態系統組成,各組件及其作用

HDFS
hadoop distributed file system(分佈式文件系統),以數據塊(block)爲處理單位,默認大小時64MB,其中一個大文件分成若干數據塊可以分發到不同硬盤存儲,一旦系統出現問題會使用其中的副本。不適用於大量文件的修改和小文件的存儲。由namenode,secondary namenode,datanode組成。
namenode:負責接受客戶的任務請求,命名空間的規定,完成任務和datanode的映射。
secondary namenode:負責系統fsimage(整個系統開機後的快照)和editlog(開機後所作的處理)的合併爲新的鏡像作爲記錄點。這項工作原本爲namenode負責,但是namenode只有在重新啓動後纔會將二者合併,重啓namenode後會等帶大量時間,所以交由second處理合並後交給namenode。
datanode:數據塊的處理和讀寫負責節點,主要就是幹活,會與namenode發送心跳,交互數據處理進度。

Mapreduce
一個分佈式的編程框架,將任務分發到分佈式系統的單個節點計算,最後彙總計算結果。

PV
page view 頁面訪問量,衡量網站用戶訪問頁面數量。

UV
unique view 單獨訪問量,每一臺×××爲一個客戶端作爲統計單位。

YARN
將mapreduce中的jobtracker的功能分爲兩部分,resourcemanager負責總的資源管理和applicationmaster負責單個節點應用程序管理。當用戶提交一個應用程序的時候,需要一個appmaster跟蹤處理應用的資源請求負責向resourcemanager申請所用的資源,每個appmaster互不影響。nodemagager負責單個節點的資源管理和使用。資源的分配以container爲單位,是資源的一個抽象實體,包括cpu,內存,磁盤等,nodemanager只能使用container中分配的資源。

數據倉庫
同數據庫的邏輯層面一樣,數據庫要保證數據的完整性,儘可能的減少冗餘,採用行式存儲。數據倉庫着重對數據的分析,對數據的查詢速度要求很高,採用列式存儲。

Sqoop
(skup)可以將外部數據轉移到hdfs系統或者hbase和hive

Flume
一個高可用的,高可靠的,分佈式的海量日誌採集、聚合和傳輸的系統,Flume支持在日誌系統中定製各類數據發送方,用於收集數據;同時,Flume提供對數據進行簡單處理,並寫到各種數據接受方(可定製)的能力。

HIVE
四.Spark
五.Storm
六.ZooKeeper
Kafka
分佈式發佈訂閱消息系統,1.以pub/sub方式海量的流處理 2.存儲海量數據流,保證數據流的順序

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章