Skip to main content

GetHDFSEvents

描述:

通过HdfsAdmin API获取通知事件消息,当使用HdfsAdmin API时需要HDFS的超级管理员身份。当前支持6种类型的事件(append, close, create, metadata, rename, 以及 unlink).可查看org.apache.hadoop.hdfs.inotify.Event的相关文档了解更多事件的细节。该组件将根据轮询时间进行读取。针对每个事件将创建相应的数据流输出并且为JSON格式以及部分属性,比如 event.type属性值为 APPEND,且数据流的内容包含一个JSON文件,内容为事件信息。需注意生成的数据流存储在什么地方。如果数据流存储在组件的监控目录下,那么将会有一个永不结束的事件流。样重要的是,这个组件必须消费所有事件。同时需设置过滤条件,因为HDFS管理员事件通知API没有过滤功能。

标签:

hadoop, events, inotify, notifications, filesystem, 事件, 通知

参数:

如下列表中,必填参数则标识为加粗. 其他未加粗参数,则表示为可选参数。表中同时提到参数默认值设置, 并且 参数还支持 表达式语言.

名字默认值允许值列表描述
Hadoop配置指定由逗号分隔符分隔的多个Hadoop配置文件。如果不设置,则Hadoop将搜索类路径(classpath)查找'core-site.xml' 和 'hdfs-site.xml'文件,或还原为默认配置。 为了使用 swebhdfs, 可查看 '高级设置' 的 PutHDFS 文档

支持表达式语言 (仅支持变量)
Kerberos证书服务控制器服务API:
KerberosCredentialsService
实现:
KeytabCredentialsService
指定用于Kerberos授权的证书服务配置
Kerberos Principal指定用于认证的Kerberos principal。 需要设置在 orchsym.properties 配置文件中设置 orchsym.kerberos.krb5.file

支持表达式语言 (仅支持变量)
Kerberos Keytab指定用于关联Principal认证的Kerberos keytab。 需要设置在 orchsym.properties 配置文件中设置 orchsym.kerberos.krb5.file

支持表达式语言 (仅支持变量)
Kerberos重新登录时长4 hours尝试Kerberos重新登录的时长。注:该参数以被弃用,并组件执行没有影响。现在重新登录将自动发生

支持表达式语言 (仅支持变量)
额外类路径指定将添加到类路径的并以逗号分隔的多个文件或目录。 当指定目录时,所有目录下的文件将被添加到类路径中,但并不迭代包含子目录中的文件
轮询间隔1 second在下一批事件读取的间隔时间,可能超过这个时间量,最多超过RPC到NameNode所需通信时间。
监控路径获取事件通知的HDFS路径。该参数同时支持正则表达式和表达式语言并在OnScheduled阶段获取路径值.

支持表达式语言 (仅支持变量)
忽略隐藏文件
- 忽略
- 不
如果忽略,与给定事件关联的路径以点"."开头的事件将不会处理
事件类型过滤append, close, create, metadata, rename, unlink指定要处理的事件类型列表。 有效的事件类型: append, close, create, metadata, rename, 以及 unlink. 大小写无所谓
IO异常重试次数3通过事件轮询的HDFS管理API读取,最好至少重试几次。这个数字定义了在抛出IOException时,轮询将被重试多少次。

连线:

名字描述
success成功读取事件信息的数据将输出到此连线

读取属性:

未提供。

写入属性:

名字描述
mime.type总是application/json类型
hdfs.inotify.event.type特指的HDFS通知事件类型。 当前支持的6个类型(append, close, create, metadata, rename, 和 unlink).
hdfs.inotify.event.path事件路径

状态管理:

范围描述
CLUSTER存储最后使用的事务id

限制:

该组件没有限制

输入流要求:

组件禁止提供输入流。

系统资源考量:

未提供。

参考:

FetchHDFS, GetHDFS, ListHDFS, PutHDFS