圖片 19.1 pic
流量比較大的日誌要是直接寫入 Hadoop 對 Namenode 負載過大,所以入庫前合併,可以把各個節點的日誌湊併成一個檔案寫入 HDFS。 根據情況定期合成,寫入到 hdfs 裡面。
咱們看看日誌的大小,200 G 的 dns 日誌檔案,我壓縮到了 18 G,要是用 awk perl 當然也可以,但是處理速度肯定沒有分散式那樣的給力。
圖片 19.2 pic
Hadoop Streaming 原理
mapper 和 reducer 會從標準輸入中讀取使用者資料,一行一行處理後傳送給標準輸出。Streaming 工具會建立 MapReduce 作業,傳送給各個 tasktracker,同時監控整個作業的執行過程。
任何語言,只要是方便接收標準輸入輸出就可以做 mapreduce~
再搞之前我們先簡單測試下 shell 模擬 mapreduce 的效能速度~
圖片 19.3 pic
看下他的結果,350 M 的檔案用時 35 秒左右。
圖片 19.4 pic
這是 2 G 的日誌檔案,居然用了 3 分鐘。 當然和我寫的指令碼也有問題,我們是模擬 mapreduce 的方式,而不是呼叫 shell 下牛逼的 awk,gawk 處理。
Loading...
未載入完,嘗試【重新整理】or【關閉小說模式】or【關閉廣告遮蔽】。
嘗試更換【Firefox瀏覽器】or【Chrome谷歌瀏覽器】開啟多多收藏!
移動流量偶爾打不開,可以切換電信、聯通、Wifi。
收藏網址:www.peakbooks.cc
(>人<;)