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 |
限制:
该组件没有限制
输入流要求:
组件禁止提供输入流。
系统资源考量:
未提供。