1. 程式人生 > >nginx ---->flume ----->kafka ----> storm -----> hdfs

nginx ---->flume ----->kafka ----> storm -----> hdfs

大資料架構簡單流程圖

nginx ---->flume ----->kafka ----> storm -----> hdfs(mysql)------>hbse(hive)---->spark(MR)


1).資料採集 負責從各節點上實時採集資料,選用cloudera的flume來實現 2).資料接入 由於採集資料的速度和資料處理的速度不一定同步,因此新增一個訊息中介軟體來作為緩衝,選用apache的kafka 3).流式計算 對採集到的資料進行實時分析,選用apache的storm 4).資料輸出 對分析後的結果持久化,暫定用mysql 另一方面是模組化之後,假如當Storm掛掉了之後,資料採集和資料接入還是繼續在跑著,資料不會丟失,storm起來之後可以繼續進行流式計算;


Kafka可以起到兩個作用:
  1. 降低系統組網複雜度。
  2. 降低程式設計複雜度,各個子系統不在是相互協商介面,各個子系統類似插口插在插座上,Kafka承擔高速資料匯流排的作用。