官方:http://docs.fluentd.org/articles/out_webhdfs
http://docs.fluentd.org/articles/http-to-hdfs
out_webhdfs TimeSliced輸出插件將記錄寫入HDFS(Hadoop分布式文件系統(tǒng))岔乔。 默認(rèn)情況下为障,它每小時(shí)創(chuàng)建文件。 這意味著鳄虱,當(dāng)您首次使用插件導(dǎo)入記錄時(shí)腌巾,不會(huì)立即創(chuàng)建文件募寨。 當(dāng)滿足time_slice_format條件時(shí)赡茸,將創(chuàng)建該文件。 要更改輸出頻率悬垃,請(qǐng)修改time_slice_format值游昼。
本文檔不描述所有參數(shù)。 如果您想了解完整功能尝蠕,請(qǐng)查看更多閱讀部分酱床。
out_webhdfs默認(rèn)包含在td-agent中(v1.1.10或更高版本)。 Fluentd gem用戶將不得不使用以下命令安裝fluent-plugin-webhdfs gem趟佃。
$ fluent-gem install fluent-plugin-webhdfs
HDFS配置
默認(rèn)情況下,CDH上不啟用附加操作昧捷。 請(qǐng)將這些配置放入您的hdfs-site.xml文件闲昭,然后重新啟動(dòng)整個(gè)群集。
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.support.append</name>
<value>true</value>
</property>
<property>
<name>dfs.support.broken.append</name>
<value>true</value>
</property>
Example Configuration
<match access.**>
@type webhdfs
host namenode.your.cluster.local
port 50070
path "/path/on/hdfs/access.log.%Y%m%d_%H.#{Socket.gethostname}.log"
flush_interval 10s
</match>
有關(guān)實(shí)際用例靡挥,請(qǐng)參閱Fluentd + HDFS:即時(shí)大數(shù)據(jù)收集一文序矩。[http://docs.fluentd.org/articles/http-to-hdfs]
參數(shù)
type(必需)
該值必須為webhfds。
host(必需)
namenode主機(jī)名跋破。
port(必需)
namenode端口號(hào)簸淀。
path(必需)
HDFS上的路徑。 請(qǐng)?jiān)诼窂街邪埃Socket.gethostname}”毒返,以避免從多個(gè)Fluentd實(shí)例寫入同一HDFS文件租幕。 此沖突可能導(dǎo)致數(shù)據(jù)丟失。
路徑值可以包含時(shí)間占位符(請(qǐng)參閱time_slice_format節(jié))拧簸。 如果路徑包含時(shí)間占位符劲绪,webhdfs輸出將使用這些占位符自動(dòng)配置time_slice_format。