HDFS (WebHDFS) Output Plugin翻译
官方:http://docs.fluentd.org/articles/out_webhdfs
http://docs.fluentd.org/articles/http-to-hdfs
out_webhdfs TimeSliced输出插件将记录写入HDFS(Hadoop分布式文件系统)。 默认情况下,它每小时创建文件。 这意味着,当您首次使用插件导入记录时,不会立即创建文件。 当满足time_slice_format条件时,将创建该文件。 要更改输出频率,请修改time_slice_format值。
本文档不描述所有参数。 如果您想了解完整功能,请查看更多阅读部分。
out_webhdfs默认包含在td-agent中(v1.1.10或更高版本)。 Fluentd gem用户将不得不使用以下命令安装fluent-plugin-webhdfs gem。
$ fluent-gem install fluent-plugin-webhdfs
HDFS配置
默认情况下,CDH上不启用附加操作。 请将这些配置放入您的hdfs-site.xml文件,然后重新启动整个群集。
<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>
有关实际用例,请参阅Fluentd + HDFS:即时大数据收集一文。[http://docs.fluentd.org/articles/http-to-hdfs]
参数
type(必需)
该值必须为webhfds。
host(必需)
namenode主机名。
port(必需)
namenode端口号。
path(必需)
HDFS上的路径。 请在路径中包含“#{Socket.gethostname}”,以避免从多个Fluentd实例写入同一HDFS文件。 此冲突可能导致数据丢失。
路径值可以包含时间占位符(请参阅time_slice_format节)。 如果路径包含时间占位符,webhdfs输出将使用这些占位符自动配置time_slice_format。