我正在尝试使用 MSK Connect 创建连接器,但收到错误。如何解决此问题?
上次更新日期:2021 年 12 月 7 日
我正在尝试使用 Amazon Managed Streaming for Apache Kafka (Amazon MSK) Connect 创建连接器。但是我收到了错误消息。如何解决此问题?
解决方案
使用 MSK Connect 创建连接器时,您可能会收到以下错误消息之一:
- “参数 connectorConfiguration 无效:以下必填字段缺失或值无效:tasks.max”
- “org.apache.kafka.connect.errors.ConnectException:找不到任何实现连接器且名称匹配的类...”
- “org.apache.kafka.common.errors.TimeoutException:等待发送呼叫超时。呼叫:fetchMetadata”
- “org.apache.kafka.common.errors.SaslAuthenticationException:连接数太多”
“参数 connectorConfiguration 无效:以下必填字段缺失或值无效:tasks.max”
如果在配置结束处使用回车符 (/r) 字符,则会收到以下错误:
Invalid parameter connectorConfiguration: The following required field is missing or has invalid value: tasks.max
要解决此错误,请尝试执行以下操作:
- 在连接器配置对话框中手动输入配置信息,而不是从其他来源(如文档)复制和粘贴。
- 如果在 Windows 操作系统中操作,请使用文本编辑器(例如 Notepad++)。您可以使用文本编辑器检查和删除回车符 (CRLF) 和任何行尾 (EOL) 字符。要删除回车符,请将配置复制并粘贴到文本编辑器中。在文本编辑器中,选择查看和显示符号。然后,选择显示所有字符以检索配置中可能存在的任何 CRLF 或 EOL 字符。将所有 CRLF 字符 ("\r\n") 替换为 LF 字符 ("\n")。
“org.apache.kafka.connect.errors.ConnectException:找不到任何实现连接器且名称匹配的类...”
要解决此错误,请尝试执行以下操作:
- 删除连接器配置中可能存在的所有回车符 (/r) 字符。
- 如果连接器插件需要多个文件,请确保压缩文件中包含这些文件。(在创建连接器插件的过程中使用压缩文件。) 压缩文件中的 JAR 文件还必须为该插件记录预期的文件结构。最佳实践是通过查看和启用 MSK Connect 的日志来确认文件结构设置正确。
“org.apache.kafka.common.errors.TimeoutException:等待发送呼叫超时。呼叫:fetchMetadata”
如果连接器无法访问您的 Amazon MSK 集群,则您会收到 TimeOutException 错误。要解决此错误,请检查您的 Amazon MSK 集群的安全组。安全组必须允许来自客户端安全组的入站流量(与 Amazon MSK Connect 关联)。如果正在使用 Amazon MSK 集群,请确保添加允许来自自身的入站流量的规则。有关设置这些规则的更多信息,请参阅安全组规则。
“org.apache.kafka.common.errors.SaslAuthenticationException:连接数太多”
如果您的 MSK 集群在采用 AWS Identity Access Management (IAM) 访问控制的 kafka.t3.small 代理类型上运行,请注意连接限制。kafka.t3.small 实例类型每秒只能接受每个代理一个 TCP 连接。超出此连接限制时,您的创建测试将失败。因此,您会收到 SaslAuthenticationException 错误,表示凭证无效错误。有关亚 Amazon MSK 集群和 IAM 访问控制的更多信息,请参阅 Amazon MSK 如何与 IAM 配合使用。
要解决 SaslAuthenticationException 错误,请考虑以下方法: