SeaTunnel Connector Check 命令详解:插件清单查看与参数规则查询实战指南
SeaTunnel Connector Check 命令详解插件清单查看与参数规则查询实战指南【免费下载链接】seatunnelSeaTunnel is a multimodal, high-performance, distributed, massive data integration tool.项目地址: https://gitcode.com/GitHub_Trending/se/seatunnelSeaTunnel 作为一款多模态、高性能、分布式的海量数据集成工具其核心能力由大量 source、sink、transform 插件Connector构成。在编写作业配置如config/v2.batch.config.template时开发者最常遇到的问题是当前环境到底装了哪些插件某个插件例如 Paimon、Kafka、FakeSource支持哪些配置项哪些参数必填、哪些可选本文以 docs/en/engines/command/connector-check.md 为骨架系统讲解bin/seatunnel-connector.sh命令的用法、输出格式与底层实现原理帮助你脱离文档盲写配置直接向运行时环境求证插件能力。命令入口bin/seatunnel-connector.shconnector-check功能由 SeaTunnel 发行包自带的独立脚本提供入口固定为bin/seatunnel-connector.sh该脚本位于发行目录的bin/下源码中的对应实现见 seatunnel-connector.sh它与主启动脚本bin/seatunnel.sh相互独立不依赖任何正在运行的 SeaTunnel 集群属于纯本地诊断工具适合在编写作业配置之前或排查插件未找到类报错时使用。命令选项说明seatunnel-connector.sh支持四个参数其完整用法如下Usage: seatunnel-connector.sh [options] Options: -h, --help Show the usage message -l, --list List all supported plugins(sources, sinks, transforms) (default: false) -o, --option-rule Get option rule of the plugin by the plugin identifier(connector name or transform name) -pt, --plugin-type SeaTunnel plugin type, support [source, sink, transform]各选项的含义与组合规则如下表选项长选项说明适用场景-h--help打印上述帮助信息快速回忆参数-l--list列出当前环境支持的所有插件source、sink、transform默认值为false查看已安装插件清单-o--option-rule按插件标识connector 名称或 transform 名称获取该插件的参数规则查询某个插件支持哪些配置项-pt--plugin-type限定插件类型仅支持source、sink、transform三种取值与-l、-o搭配缩小范围要点说明-pt必须配合-l或-o使用单独使用无意义-l与-o可以同时出现此时既打印指定类型的插件列表又打印指定插件的参数规则不带任何参数直接运行脚本时脚本会默认追加-h打印帮助信息对应脚本中的if [ $# 0 ]分支插件名称匹配是大小写不敏感的底层通过equalsIgnoreCase匹配见 AbstractPluginDiscovery.java。实战示例以下四个示例完整覆盖了该命令的典型用法均以发行包根目录为当前目录执行。1. 列出所有支持的 Connector 与 Transformbin/seatunnel-connector.sh -l输出会按Source、Sink、Transform三个分组依次打印每组一行列出该类型下所有已发现插件的名称形如Source FakeSource Kafka Socket ... Sink Console Assert Kafka ... Transform Copy Filter FieldMapper ...注意输出中的插件清单完全取决于当前SEATUNNEL_HOME下实际放置的插件 JAR。脚本通过CLASS_PATH${APP_DIR}/connectors/*:${APP_JAR}:${APP_DIR}/lib/seatunnel-transforms-v2.jar将connectors/目录下全部 Connector JAR 与 transforms JAR 加载进 classpath见 seatunnel-connector.sh再交由插件发现机制扫描。因此这份清单就是当前环境真实可用的插件集合。2. 仅列出所有支持的 Sinkbin/seatunnel-connector.sh -l -pt sink只打印 Sink 分组。将-pt换为source或transform即可得到对应类型。在编写从 A 写入 B的作业前用该命令确认目标端插件是否已安装可避免运行期才暴露的插件缺失错误。3. 获取某 Connector 或 Transform 的参数规则bin/seatunnel-connector.sh -o Paimon不指定-pt时命令会依次在 Source、Sink、Transform 三种类型中查找名为Paimon的插件并打印其参数规则。输出结构如下Paimon sink Required Options: connectorName, Description: ... ... Optional Options: ... Paimon source Required Options: ...-o的输出对于编写作业配置极具价值Required Options 即必须填写的配置项Optional Options 为可选项每一项都带有Description说明与完整的参数类型信息来自该插件Option的toString()可以直接据此核对 HOCON 配置中的键名与取值类型。4. 获取 Paimon Sink 的参数规则bin/seatunnel-connector.sh -o Paimon -pt sink指定插件类型后只打印该类型下的匹配结果。当不同插件存在同名标识例如Kafka同时有 source 与 sink 两个变体时配合-pt可以精确定位。若在指定类型下未找到该插件则不会打印任何参数规则。输出内容解读与配置联动-o输出的参数规则与 Seatunnel 作业配置HOCON 格式中的options段一一对应。以 config/v2.batch.config.template 中典型的 source/sink 写法为例source { FakeSource { result_table_name fake schema {...} } } sink { Console { source_table_name fake } }其中的result_table_name、schema、source_table_name等键正是-o FakeSource、-o Console输出中 Required / Optional Options 里出现的参数名。因此推荐的配置编写工作流为用bin/seatunnel-connector.sh -l -pt source/-pt sink确认插件已安装用bin/seatunnel-connector.sh -o 插件名 -pt 类型查询该插件必填与可选参数按查询结果编写config/*.conf中的source/transform/sink段落用主命令bin/seatunnel.sh提交作业验证。源码级原理剖析参数解析与命令分发脚本最终调用 Java 主类org.apache.seatunnel.core.starter.seatunnel.SeaTunnelConnector见 SeaTunnelConnector.java。其入口逻辑为通过CommandLineUtils.parse(...)将命令行参数解析为 ConnectorCheckCommandArgs.java 对象使用 JCommander 注解-l/--list对应listConnectors-o/--option-rule对应pluginIdentifier-pt/--plugin-type对应pluginType-pt的值经SeaTunnelPluginTypeConverter转为PluginType枚举非法的类型值会抛出only support these options: [source, transform, sink]的明确提示随后执行ConnectorCheckCommand完成真正的插件扫描与打印。脚本末尾还通过grep -v org\.apache\.seatunnel\.plugin\.discovery\.AbstractPluginDiscovery过滤掉插件发现过程中打印的日志行保证输出只保留插件列表与参数规则便于直接阅读或二次解析。插件发现与参数规则获取ConnectorCheckCommand.java 内部维护了一张DISCOVERY_MAP将三种插件类型分别映射到对应的发现器DISCOVERY_MAP.put(PluginType.SOURCE, new SeaTunnelSourcePluginDiscovery()); DISCOVERY_MAP.put(PluginType.SINK, new SeaTunnelSinkPluginDiscovery()); DISCOVERY_MAP.put(PluginType.TRANSFORM, new SeaTunnelTransformPluginDiscovery());执行时-l分支调用各发现器的getPlugins()仅打印PluginIdentifier中的插件名称-o分支调用getOptionRules(pluginIdentifier)其核心实现在 AbstractPluginDiscovery.java在已发现的插件中按名称忽略大小写匹配命中后从该插件注册的OptionRule中拆出requiredOptions必填项与optionalOptions可选项连同PluginIdentifier一起以三元组返回最终由ConnectorCheckCommand格式化输出。这也解释了输出中 Required Options 与 Optional Options 两个分组的来源它们直接取自插件工厂类通过OptionRule.builder()声明的配置元数据与作业配置校验seatunnel.sh --check共用同一套OptionRule机制因此可信度与配置校验一致。插件标识与 JAR 的映射插件名称如FakeSource、Kafka、Paimon之所以能被解析为具体的 JAR依赖发行目录connectors/下的 plugin-mapping.properties 映射文件其中定义了seatunnel.source.FakeSource connector-fake、seatunnel.sink.Kafka connector-kafka之类的映射关系。-l列出的插件正是该映射与connectors/目录下实际 JAR 文件共同作用的结果。若某个 Connector 的 JAR 未放入connectors/目录它将不会出现在-l的输出中运行期也无法被加载——这一点对排查配置无误但插件不生效的问题非常关键。适用前提与注意事项运行环境该命令面向安装后的发行包bin/、connectors/、lib/、starter/目录齐全在纯源码仓库中直接执行无法生效部署方式可参考 docs/en/engines/README.md 相关章节或 config/seatunnel.yaml 的配套说明。插件 JAR 完整性-l的输出随connectors/目录内容动态变化新增插件 JAR 后无需重启任何服务即可被该命令发现。名称匹配规则-o的参数与插件名做忽略大小写的全名匹配不支持通配符或模糊匹配不确定名称时可先用-l查看准确写法。与配置校验的关系-o输出的 Required Options 是作业配置的底线缺失必填项会导致seatunnel.sh配置校验失败建议在提交作业前完成对照检查。通过bin/seatunnel-connector.sh开发者可以在不查阅外部文档的情况下直接从当前运行时环境获得插件清单与参数规则是编写、调试 SeaTunnel 作业配置时的高效辅助工具。【免费下载链接】seatunnelSeaTunnel is a multimodal, high-performance, distributed, massive data integration tool.项目地址: https://gitcode.com/GitHub_Trending/se/seatunnel创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →