Webhdfs 输出插件
编辑Webhdfs 输出插件编辑
- 插件版本:v3.1.0
- 发布日期:2023-10-03
- 变更日志
有关其他版本,请参阅 版本化插件文档。
获取帮助编辑
如果您对插件有任何疑问,请在 Discuss 论坛中发布主题。对于错误或功能请求,请在 Github 中打开问题。有关 Elastic 支持的插件列表,请参阅 Elastic 支持矩阵。
依赖项编辑
此插件不依赖于 hadoop 中的 jar 包,从而减少了配置和兼容性问题。它使用 Kazuki Ohta 和 TAGOMORI Satoshi 的 webhdfs gem (@see: https://github.com/kzk/webhdfs)。如果您使用压缩功能,则可选依赖项是 zlib 和 snappy gem。
操作说明编辑
如果您遇到类似以下错误
Max write retries reached. Exception: initialize: name or service not known {:level=>:error}
请确保您的 namenode 主机名在运行 Logstash 的主机上可解析。在创建/追加到文件时,webhdfs 有时会发送一个 307 TEMPORARY_REDIRECT
,其中包含其运行的机器的 HOSTNAME
。
用法编辑
这是一个 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,则需要在路径配置设置中使用 %{[@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 兼容。