天天看點

《Flume日志收集與MapReduce模式》一2.2 Flume配置檔案概覽

本節書摘來自華章出版社《flume日志收集與mapreduce模式》一書中的第2章,第2.2節,作者 [美] 史蒂夫·霍夫曼(steve hoffman)斯裡納特·佩雷拉(srinath perera),更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視

既然已經下載下傳好了flume,下面來花點時間看看如何配置代理。

flume代理的預設配置提供者使用了一個簡單的鍵值對的java屬性檔案,你需要在啟動時向代理傳遞一個參數。由于可以在單個檔案中配置多個代理,是以還需要額外傳遞一個代理辨別符(叫作名字),這樣它就知道該使用哪個代理了。在給出的示例中,我隻指定了一個代理,使用agent這個名字。

每個代理的配置都以下面這3個參數開始:

《Flume日志收集與MapReduce模式》一2.2 Flume配置檔案概覽

每個源、通道與接收器在該代理的上下文中也有一個唯一的名字。比如,如果不打算傳遞apache通路日志,我就可以定義一個名為access的通道。該通道的配置都以字首agent.channels.access開頭。每個配置項都有一個type屬性,告訴flume是哪種源、通道還是接收器。在該示例中,我們使用一個記憶體通道,其類型為memory。名為agent的代理中的名為access的通道的完整配置如下所示:

《Flume日志收集與MapReduce模式》一2.2 Flume配置檔案概覽

為源、通道與接收器指定的任何參數都會使用相同的字首以額外屬性的方式添加進來。memory通道有一個capacity參數,辨別它能持有的最大的flume事件數量。假如我們不想使用100這個預設值,那麼配置檔案将會如下所示:

《Flume日志收集與MapReduce模式》一2.2 Flume配置檔案概覽

最後,我們需要将access通道名添加到agent.channels屬性中,這樣代理就會加載它了:

《Flume日志收集與MapReduce模式》一2.2 Flume配置檔案概覽

下面來看看使用标準“hello world”的完整示例。

繼續閱讀