Webhdfs 输出插件
编辑Webhdfs 输出插件
编辑- 插件版本: v3.1.0
- 发布于: 2023-10-03
- 更新日志
对于其他版本,请参阅版本化插件文档。
获取帮助
编辑有关插件的问题,请在Discuss论坛中打开一个主题。对于错误或功能请求,请在Github中打开一个问题。有关 Elastic 支持的插件列表,请参阅Elastic 支持矩阵。
依赖项
编辑此插件不依赖于 hadoop 的 jar 包,从而减少了配置和兼容性问题。它使用 Kazuki Ohta 和 TAGOMORI Satoshi 的 webhdfs gem(请参阅:https://github.com/kzk/webhdfs)。如果使用压缩功能,可选依赖项是 zlib 和 snappy gem。
操作说明
编辑如果您收到类似以下错误
Max write retries reached. Exception: initialize: name or service not known {:level=>:error}
请确保您的 namenode 的主机名在运行 Logstash 的主机上可解析。在创建/追加到文件时,webhdfs 有时会发送一个带有其运行机器的 HOSTNAME
的 307 TEMPORARY_REDIRECT
。
用法
编辑这是一个 Logstash 配置示例
input { ... } filter { ... } output { webhdfs { host => "127.0.0.1" # (required) port => 50070 # (optional, default: 50070) path => "/user/logstash/dt=%{+YYYY-MM-dd}/logstash-%{+HH}.log" # (required) user => "hue" # (required) } }
Webhdfs 输出配置选项
编辑此插件支持以下配置选项以及稍后描述的通用选项。
设置 | 输入类型 | 必需 |
---|---|---|
字符串,以下之一 |
否 |
|
否 |
||
是 |
||
否 |
||
否 |
||
否 |
||
是 |
||
否 |
||
否 |
||
否 |
||
否 |
||
否 |
||
否 |
||
否 |
||
字符串,以下之一 |
否 |
|
否 |
||
否 |
||
否 |
||
否 |
||
否 |
||
否 |
||
否 |
||
是 |
另请参阅通用选项,了解所有输出插件支持的选项列表。
path
编辑- 这是一个必需设置。
- 值类型为 字符串
- 此设置没有默认值。
要写入的文件的路径。可以使用事件字段,以及 joda 时间格式的日期字段,例如:/user/logstash/dt=%{+YYYY-MM-dd}/%{@source_host}-%{+HH}.log
single_file_per_thread
编辑- 值类型为 布尔值
- 默认值为
false
避免在多个线程中追加到同一文件。这解决了一些多线程 Logstash 输出和 webhdfs 中锁定文件租约的问题。如果此选项设置为 true,则需要在 path 配置设置中使用 %{[@metadata][thread_id]}。
snappy_bufsize
编辑- 值类型为 数字
- 默认值为
32768
设置 snappy 块大小。仅对于流格式是必需的。默认为 32k。最大值为 65536 @see http://code.google.com/p/snappy/source/browse/trunk/framing_format.txt
snappy_format
编辑- 值可以是以下任何一个:
stream
、file
- 默认值为
"stream"
设置 snappy 格式。以下之一 "stream", "file"。设置为 stream 以与 hive 兼容。