【发布时间】:2018-07-08 15:14:38
【问题描述】:
致力于设置从我们的 RDS Postgres 9.6 运行到 Redhift 的 Kafka。使用https://blog.insightdatascience.com/from-postgresql-to-redshift-with-kafka-connect-111c44954a6a 的指导方针,我们已经设置了所有基础设施,并且正在努力全面设置 Confluent。我收到 ava.lang.IllegalArgumentException 的错误:组数必须为正。尝试设置东西时。这是我的配置文件:
name=source-postgres
connector.class=io.confluent.connect.jdbc.JdbcSourceConnector
tasks.max=16
connection.url= ((correct url and information here))
mode=timestamp+incrementing
timestamp.column.name=updated_at
incrementing.column.name=id
topic.prefix=postgres_
完全错误:
/usr/local/confluent$ /usr/local/confluent/bin/connect-standalone /usr/local/confluent/etc/schema-registry/connect-avro-standalone.properties /usr/local/confluent/etc/kafka-connect-jdbc/source-postgres.properties SLF4J:类路径包含多个 SLF4J 绑定。 SLF4J:找到 绑定在 [jar:file:/usr/local/confluent/share/java/kafka-serde-tools/slf4j-log4j12-1.7.6.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J:发现绑定 [jar:file:/usr/local/confluent/share/java/kafka-connect-elasticsearch/slf4j-simple-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J:发现绑定 [jar:file:/usr/local/confluent/share/java/kafka-connect-hdfs/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J:发现绑定 [jar:file:/usr/local/confluent/share/java/kafka/slf4j-log4j12-1.7.21.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J:见http://www.slf4j.org/codes.html#multiple_bindings 解释。 SLF4J:实际绑定是类型 [org.slf4j.impl.Log4jLoggerFactory] [2018-01-29 16:49:49,820] 信息 StandaloneConfig 值: access.control.allow.methods = access.control.allow.origin = bootstrap.servers = [本地主机:9092] internal.key.converter = 类 org.apache.kafka.connect.json.JsonConverter internal.value.converter = 类 org.apache.kafka.connect.json.JsonConverter key.converter = 类 io.confluent.connect.avro.AvroConverter offset.flush.interval.ms = 60000 offset.flush.timeout.ms = 5000 offset.storage.file.filename = /tmp/connect.offsets rest.advertised.host.name = null rest.advertised.port = null rest.host.name = null 休息端口 = 8083 task.shutdown.graceful.timeout.ms = 5000 value.converter = 类 io.confluent.connect.avro.AvroConverter (org.apache.kafka.connect.runtime.standalone.StandaloneConfig:180) [2018-01-29 16:49:49,942] INFO 日志记录已初始化 @549ms (org.eclipse.jetty.util.log:186) [2018-01-29 16:49:50,301] 信息卡夫卡 连接开始(org.apache.kafka.connect.runtime.Connect:52) [2018-01-29 16:49:50,302] INFO Herder 开始 (org.apache.kafka.connect.runtime.standalone.StandaloneHerder:70) [2018-01-29 16:49:50,302] INFO Worker 启动 (org.apache.kafka.connect.runtime.Worker:113) [2018-01-29 16:49:50,302] 使用文件启动 FileOffsetBackingStore 的信息 /tmp/connect.offsets (org.apache.kafka.connect.storage.FileOffsetBackingStore:60) [2018-01-29 16:49:50,304] INFO Worker 启动 (org.apache.kafka.connect.runtime.Worker:118) [2018-01-29 16:49:50,305] 信息 Herder 开始 (org.apache.kafka.connect.runtime.standalone.StandaloneHerder:72) [2018-01-29 16:49:50,305] 信息启动 REST 服务器 (org.apache.kafka.connect.runtime.rest.RestServer:98) [2018-01-29 16:49:50,434] 信息码头-9.2.15.v20160210 (org.eclipse.jetty.server.Server:327) 2018 年 1 月 29 日下午 4:49:51 org.glassfish.jersey.internal.Errors logErrors 警告:以下 已检测到警告:警告:(子)资源方法 列表中的连接器 org.apache.kafka.connect.runtime.rest.resources.ConnectorsResource 包含空路径注释。警告:(子)资源方法 在中创建连接器 org.apache.kafka.connect.runtime.rest.resources.ConnectorsResource 包含空路径注释。警告:(子)资源方法 listConnectorPlugins in org.apache.kafka.connect.runtime.rest.resources.ConnectorPluginsResource 包含空路径注释。警告:(子)资源方法 服务器信息在 org.apache.kafka.connect.runtime.rest.resources.RootResource 包含 空路径注释。 [2018-01-29 16:49:51,385] 信息开始 o.e.j.s.ServletContextHandler@5aabbb29{/,null,AVAILABLE} (org.eclipse.jetty.server.handler.ContextHandler:744) [2018-01-29 16:49:51,409] 信息开始 ServerConnector@54dab9ac{HTTP/1.1}{0.0.0.0:8083} (org.eclipse.jetty.server.ServerConnector:266) [2018-01-29 16:49:51,409] 信息开始于@2019ms (org.eclipse.jetty.server.Server:379) [2018-01-29 16:49:51,410] 信息 REST 服务器在 http://127.0.0.1:8083/ 监听,广告 URL http://127.0.0.1:8083/ (org.apache.kafka.connect.runtime.rest.RestServer:150) [2018-01-29 16:49:51,410] 信息卡夫卡连接开始 (org.apache.kafka.connect.runtime.Connect:58) [2018-01-29 16:49:51,412] INFO ConnectorConfig 值: connector.class= io.confluent.connect.jdbc.JdbcSourceConnector key.converter = null 名称 = 源 postgres 任务.max = 16 value.converter = null (org.apache.kafka.connect.runtime.ConnectorConfig:180) [2018-01-29 16:49:51,413]信息创建类型的连接器源postgres io.confluent.connect.jdbc.JdbcSourceConnector (org.apache.kafka.connect.runtime.Worker:159) [2018-01-29 16:49:51,416] INFO 实例化连接器源-postgres 与版本 3.1.2 类型类 io.confluent.connect.jdbc.JdbcSourceConnector (org.apache.kafka.connect.runtime.Worker:162) [2018-01-29 16:49:51,419] 信息 JdbcSourceConnectorConfig 值: 批处理.max.rows = 100 连接.url = 递增.column.name = id 模式=时间戳+递增 poll.interval.ms = 5000 查询 = schema.pattern = null 表.黑名单 = [] table.poll.interval.ms = 60000 table.types = [表] 表.白名单 = [] timestamp.column.name = updated_at 时间戳.delay.interval.ms = 0 topic.prefix = postgres_ validate.non.null = true (io.confluent.connect.jdbc.source.JdbcSourceConnectorConfig:180) [2018-01-29 16:49:52,129] INFO 完成创建连接器 源 postgres (org.apache.kafka.connect.runtime.Worker:173) [2018-01-29 16:49:52,130] 信息 SourceConnectorConfig 值: connector.class= io.confluent.connect.jdbc.JdbcSourceConnector key.converter = null 名称 = 源 postgres 任务.max = 16 value.converter = null (org.apache.kafka.connect.runtime.SourceConnectorConfig:180) [2018-01-29 16:49:52,209] 连接器错误后错误停止 (org.apache.kafka.connect.cli.ConnectStandalone:102) java.lang.IllegalArgumentException:组数必须为正数。 在 org.apache.kafka.connect.util.ConnectorUtils.groupPartitions(ConnectorUtils.java:45) 在 io.confluent.connect.jdbc.JdbcSourceConnector.taskConfigs(JdbcSourceConnector.java:123) 在 org.apache.kafka.connect.runtime.Worker.connectorTaskConfigs(Worker.java:193) 在 org.apache.kafka.connect.runtime.standalone.StandaloneHerder.recomputeTaskConfigs(StandaloneHerder.java:251) 在 org.apache.kafka.connect.runtime.standalone.StandaloneHerder.updateConnectorTasks(StandaloneHerder.java:281) 在 org.apache.kafka.connect.runtime.standalone.StandaloneHerder.putConnectorConfig(StandaloneHerder.java:163) 在 org.apache.kafka.connect.cli.ConnectStandalone.main(ConnectStandalone.java:96) [2018-01-29 16:49:52,210] 信息卡夫卡连接停止 (org.apache.kafka.connect.runtime.Connect:68) [2018-01-29 16:49:52,210] 信息停止 REST 服务器 (org.apache.kafka.connect.runtime.rest.RestServer:154) [2018-01-29 16:49:52,213] 信息停止 ServerConnector@54dab9ac{HTTP/1.1}{0.0.0.0:8083} (org.eclipse.jetty.server.ServerConnector:306) [2018-01-29 16:49:52,218] 信息停止 o.e.j.s.ServletContextHandler@5aabbb29{/,null,UNAVAILABLE} (org.eclipse.jetty.server.handler.ContextHandler:865) [2018-01-29 16:49:52,224] INFO REST 服务器已停止 (org.apache.kafka.connect.runtime.rest.RestServer:165) [2018-01-29 16:49:52,224] 信息牧民停止 (org.apache.kafka.connect.runtime.standalone.StandaloneHerder:76) [2018-01-29 16:49:52,224] 信息停止连接器源-postgres (org.apache.kafka.connect.runtime.Worker:218) [2018-01-29 16:49:52,225] INFO 停止表监控线程 (io.confluent.connect.jdbc.JdbcSourceConnector:137) [2018-01-29 16:49:52,225] 信息停止连接器源-postgres (org.apache.kafka.connect.runtime.Worker:229) [2018-01-29 16:49:52,225] INFO 工人停止 (org.apache.kafka.connect.runtime.Worker:122) [2018-01-29 16:49:52,225] 信息停止 FileOffsetBackingStore (org.apache.kafka.connect.storage.FileOffsetBackingStore:68) [2018-01-29 16:49:52,225] INFO 工人停止 (org.apache.kafka.connect.runtime.Worker:142) [2018-01-29 16:49:57,334] INFO Reflections 花了 6952 毫秒扫描 263 个网址, 产生 12036 个键和 80097 个值 (org.reflections.Reflections:229) [2018-01-29 16:49:57,346] 信息 赫德停了下来 (org.apache.kafka.connect.runtime.standalone.StandaloneHerder:86) [2018-01-29 16:49:57,346] 信息卡夫卡连接停止 (org.apache.kafka.connect.runtime.Connect:73)
我们在 RDS Postgres (9.6) 和 Redshift 之间使用 DMS。它一直在失败,而且很悲惨,而且几乎在这一点上几乎是非常昂贵的,所以我们正在将其作为一种可能的解决方案。我在这里有点不知所措,真的很想在这方面得到一些帮助。
【问题讨论】:
标签: jdbc apache-kafka apache-kafka-connect confluent-platform confluent-schema-registry