天天看點

《Flume日志收集與MapReduce模式》一導讀

《Flume日志收集與MapReduce模式》一導讀

hadoop是個非常優秀的開源工具,可以将海量的非結構化資料轉換為易于管理的内容,進而更好地洞察客戶需求。它很便宜(幾乎是免費的),隻要資料中心有空間和電源,它就能夠水準擴充,并且可以處理傳統資料倉庫難以解決的問題。需要注意的是,你得将資料填入hadoop叢集中,否則你所得到的隻不過是昂貴的熱量産生器而已。你很快就會發現,一旦對hadoop的使用經過 “試驗性”階段後,你就需要工具來自動化地将資料填充到叢集中。過去,你需要自己找到該問題的解決方案,但現在則不必如此!flume一開始是cloudera的項目,當時它們的內建工程師需要一次又一次地為客戶編寫工具來實作資料的自動化導入。時至今日,flume已經成為apache軟體基金會的項目,并且處于活躍開發狀态中,很多使用者已經将其用于産品環境多年。

本書将會通過flume的架構概覽與快速起步指南幫助你迅速掌握flume。接下來将會深入介紹flume衆多更加有用的元件的細節資訊,包括用于即時資料記錄持久化的重要的檔案通道、用于緩存并将資料寫到hdfs中的hdfs接收器,以及hadoop分布式檔案系統。由于flume内置很多子產品,是以上手flume時你所需要的唯一工具就是一個用于編寫配置檔案的文本編輯器而已。

通過閱讀上篇,你将掌握建構高可用、容錯、流式資料管道(用于填充hadoop叢集)所需的一切知識。

雖然網上關于hadoop的資料已經汗牛充棟,但大多數都止步于表面或是僅針對某個具體問題給出解決方案。下篇則對hadoop以及mapreduce程式設計進行了簡明介紹,旨在讓你快速起步并對hadoop程式設計有個總體印象,打好基礎才能深入探索每一類mapreduce問題。

<a href="https://yq.aliyun.com/articles/107421">第1章 概覽與架構</a>

<a href="https://yq.aliyun.com/articles/107424">1.1 flume 0.9</a>

<a href="https://yq.aliyun.com/articles/107426">1.2 flume 1.x(flume-ng)</a>

<a href="https://yq.aliyun.com/articles/107428">1.3 hdfs與流式資料/日志的問題</a>

<a href="https://yq.aliyun.com/articles/107431">1.4 源、通道與接收器</a>

<a href="https://yq.aliyun.com/articles/107434">1.5 flume事件</a>

<a href="https://yq.aliyun.com/articles/107437">1.6 小結</a>

<a href="https://yq.aliyun.com/articles/107439">第2章 flume快速起步</a>

<a href="https://yq.aliyun.com/articles/107442">2.1 下載下傳flume</a>

<a href="https://yq.aliyun.com/articles/107448">2.2 flume配置檔案概覽</a>

<a href="https://yq.aliyun.com/articles/107464">2.3 從“hello world”開始</a>

<a href="https://yq.aliyun.com/articles/107469">2.4 小結</a>

<a href="https://yq.aliyun.com/articles/107473">第3章 通道</a>

<a href="https://yq.aliyun.com/articles/107480">3.1 記憶體通道</a>

<a href="https://yq.aliyun.com/articles/107483">3.2 檔案通道</a>

<a href="https://yq.aliyun.com/articles/107485">3.3 小結</a>

第4章 接收器與接收處理器

4.1 hdfs接收器

4.1.1 路徑與檔案名

4.1.2 檔案轉儲

4.2 壓縮編解碼器

4.3 事件序列化器

4.3.1 文本輸出

4.3.2 帶有頭資訊的文本

4.3.3 apache avro

4.3.4 檔案類型

4.3.5 逾時設定與線程池

4.4 接收器組

4.4.1 負載均衡

4.4.2 故障恢複

4.5 小結

第5章 源與通道選擇器

5.1 使用tail的問題

5.2 exec源

5.3 假脫機目錄源

5.4 syslog源

5.4.1 syslog udp源

5.4.2 syslog tcp源

5.4.3 多端口syslog tcp源

5.5 通道選擇器

5.5.1 複制

5.5.2 多路複用

5.6 小結

第6章 攔截器、etl與路由

6.1 攔截器

6.1.1 timestamp

6.1.2 host

6.1.3 static

6.1.4 正規表達式過濾

6.1.5 正規表達式抽取

6.1.6 自定義攔截器

6.2 資料流分層

6.2.1 avro源/接收器

6.2.2 指令行avro

6.2.3 log4j追加器

6.2.4 負載均衡log4j追加器

6.3 路由

6.4 小結

第7章 監控flume

7.1 監控代理程序

7.1.1 monit

7.1.2 nagios

7.2 監控性能度量情況

7.2.1 ganglia

7.2.2 内部http伺服器

7.2.3 自定義監控鈎子

7.3 小結

第8章 萬法皆空——實時分布式資料收集的現狀

8.1 傳輸時間與日志事件

8.2 萬惡的時區

8.3 容量規劃

8.4 多資料中心的注意事項

8.5 合規性與資料失效

8.6 小結

下篇 mapreduce模式

第9章 使用java編寫一個單詞統計應用(初級)

9.1 準備工作

9.2 操作步驟

9.3 示例說明

第10章 使用mapreduce編寫一個單詞統計應用并運作(初級)

10.1 準備工作

10.2 操作步驟

10.3 示例說明

10.4 補充說明

第11章 在分布式環境中安裝hadoop并運作單詞統計應用(初級)

11.1 準備工作

11.2 操作步驟

11.3 示例說明

第12章 編寫格式化器(中級)

12.1 準備工作

12.2 操作步驟

12.3 示例說明

12.4 補充說明

第13章 分析——使用mapreduce繪制頻度分布(中級)

13.1 準備工作

13.2 操作步驟

13.3 示例說明

13.4 補充說明

第14章 關系操作——使用mapreduce連接配接兩個資料集(進階)

14.1 準備工作

14.2 操作步驟

14.3 示例說明

14.4 補充說明

第15章 使用mapreduce實作集合操作(中級)

15.1 準備工作

15.2 操作步驟

15.3 示例說明

15.4 補充說明

第16章 使用mapreduce實作交叉相關(中級)

16.1 準備工作

16.2 操作步驟

16.3 示例說明

16.4 補充說明

第17章 使用mapreduce實作簡單搜尋(中級)

17.1 準備工作

17.2 操作步驟

17.3 示例說明

17.4 補充說明

第18章 使用mapreduce實作簡單的圖操作(進階)

18.1 準備工作

18.2 操作步驟

18.3 示例說明

18.4 補充說明

第19章 使用mapreduce實作kmeans(進階)

19.1 準備工作

19.2 操作步驟

19.3 示例說明

19.4 補充說明