初始化 TEST 连接器后雪花卡夫卡连接器失败

Posted

技术标签:

【中文标题】初始化 TEST 连接器后雪花卡夫卡连接器失败【英文标题】:Snowflake kafka connector failing after initializing TEST connector 【发布时间】:2021-07-03 18:04:56 【问题描述】:

不确定是什么问题。尝试设置 Snowflake kafka 连接,它似乎失败而没有抛出任何有用的日志

[2021-04-07 21:09:25,024] 信息创建 com.snowflake.kafka.connector.SnowflakeSinkConnector 类型的连接器 TEST_CONNECTOR (org.apache.kafka.connect.runtime.Worker:202) [2021-04-07 21:09:25,028] INFO 实例化连接器 TEST_CONNECTOR,版本为 1.5.0,类型为 com.snowflake.kafka.connector.SnowflakeSinkConnector (org.apache.kafka.connect.runtime.Worker:205) [2021-04-07 21:09:25,029] 信息 [SF_KAFKA_CONNECTOR] Snowflake Kafka 连接器版本:1.5.0 (com.snowflake.kafka.connector.Utils:99) [2021-04-07 21:09:25,092] 警告 [SF_KAFKA_CONNECTOR] 连接器更新可用,请升级 Snowflake Kafka 连接器 (1.5.0 -> 1.5.2) (com.snowflake.kafka.connector.Utils:136) [2021-04-07 21:09:25,092] 信息 [SF_KAFKA_CONNECTOR] SnowflakeSinkConnector:start (com.snowflake.kafka.connector.SnowflakeSinkConnector:91) [2021-04-07 21:09:25,330] 信息 [SF_KAFKA_CONNECTOR] 初始化雪花连接(com.snowflake.kafka.connector.internal.SnowflakeConnectionServiceV1:38) [2021-04-07 21:09:25,336] 信息完成创建连接器 TEST_CONNECTOR (org.apache.kafka.connect.runtime.Worker:224) [2021-04-07 21:09:25,337] 信息跳过连接器 sflksink 的重新配置,因为它没有运行 (org.apache.kafka.connect.runtime.standalone.StandaloneHerder:285) [2021-04-07 21:09:25,338] 错误在连接器错误后停止(org.apache.kafka.connect.cli.ConnectStandalone:113) java.lang.NullPointerException 在 org.apache.kafka.connect.cli.ConnectStandalone$1.onCompletion(ConnectStandalone.java:104) 在 org.apache.kafka.connect.cli.ConnectStandalone$1.onCompletion(ConnectStandalone.java:98) 在 org.apache.kafka.connect.util.ConvertingFutureCallback.onCompletion(ConvertingFutureCallback.java:44) 在 org.apache.kafka.connect.runtime.standalone.StandaloneHerder.putConnectorConfig(StandaloneHerder.java:185) 在 org.apache.kafka.connect.cli.ConnectStandalone.main(ConnectStandalone.java:107) [2021-04-07 21:09:25,340] 信息卡夫卡连接停止(org.apache.kafka.connect.runtime.Connect:65) [2021-04-07 21:09:25,341] 信息停止 REST 服务器(org.apache.kafka.connect.runtime.rest.RestServer:211) [2021-04-07 21:09:25,345] 信息停止 http_8083@2cc0fa2aHTTP/1.10.0.0.0:8083 (org.eclipse.jetty.server.ServerConnector:306) [2021-04-07 21:09:25,354] 信息停止 o.e.j.s.ServletContextHandler@5c83ae01/,null,UNAVAILABLE (org.eclipse.jetty.server.handler.ContextHandler:865) [2021-04-07 21:09:25,360] INFO REST 服务器已停止(org.apache.kafka.connect.runtime.rest.RestServer:222) [2021-04-07 21:09:25,360] INFO Herder 停止 (org.apache.kafka.connect.runtime.standalone.StandaloneHerder:77) [2021-04-07 21:09:25,360] 信息停止连接器 TEST_CONNECTOR (org.apache.kafka.connect.runtime.Worker:305) [2021-04-07 21:09:25,361] 信息 [SF_KAFKA_CONNECTOR] SnowflakeSinkConnector:停止(com.snowflake.kafka.connector.SnowflakeSinkConnector:141) [2021-04-07 21:09:25,362] 信息停止连接器 TEST_CONNECTOR (org.apache.kafka.connect.runtime.Worker:321) [2021-04-07 21:09:25,362] 信息工作者停止(org.apache.kafka.connect.runtime.Worker:151) [2021-04-07 21:09:25,365] 信息停止 FileOffsetBackingStore (org.apache.kafka.connect.storage.FileOffsetBackingStore:67) [2021-04-07 21:09:25,365] INFO Worker 停止(org.apache.kafka.connect.runtime.Worker:172) [2021-04-07 21:09:25,369] INFO Herder 停止(org.apache.kafka.connect.runtime.standalone.StandaloneHerder:87) [2021-04-07 21:09:25,371] 信息卡夫卡连接已停止(org.apache.kafka.connect.runtime.Connect:70)

配置文件如下所示

name=sflksink
connector.class=com.snowflake.kafka.connector.SnowflakeSinkConnector
tasks.max=1
topics=snowflake-connect-test
buffer.count.records=10
buffer.flush.time=60
buffer.size.bytes=50
snowflake.url.name=url
snowflake.user.name=<user>
snowflake.database.name=<database>
snowflake.schema.name=<schema>
snowflake.private.key=<private_key>
snowflake.warehouse.name=MY_WAREHOUSE
key.converter=org.apache.kafka.connect.storage.StringConverter
value.converter=com.snowflake.kafka.connector.records.SnowflakeJsonConverter

任何指针都会有所帮助

【问题讨论】:

你使用的是哪个 Kafka 版本? @OneCricketeer 2.11-1.1.0 如果您无法升级,是否可以修改 connect-log4j.properties 文件以更改日志以进行调试? connect-distributed 也会出现同样的错误吗? 在分布式模式下我没有收到错误,但在使用curl localhost:8083/connectors时我也看不到我的连接器 @OneCricketeer 还有其他建议吗? 【参考方案1】:

在日志消息中显示

Connector update is available, please upgrade Snowflake Kafka Connector (1.5.0 -> 1.5.2)

因此,我建议您将连接器 JAR 更新到最新版本,然后重试。

【讨论】:

不应该将连接器任务隔离到足以不导致内部 NPE 的程度吗? @Robin 由于工件存储库的限制,我们无法使用最新的。您强烈认为这可能是一个问题吗?

以上是关于初始化 TEST 连接器后雪花卡夫卡连接器失败的主要内容,如果未能解决你的问题,请参考以下文章

雪花卡夫卡连接器配置问题

雪花卡夫卡连接器疑惑和疑问

卡夫卡连接不工作?

卡夫卡与cloudera TLS失败

卡夫卡连接 |由于操作冲突,无法完成请求

卡夫卡连接错误:java.lang.NoClassDefFoundError:org/apache/http/conn/HttpClientConnectionManager