Kafka 与 OCI 流服务连接失败
Posted
技术标签:
【中文标题】Kafka 与 OCI 流服务连接失败【英文标题】:Kafka connect failed with OCI Stream service 【发布时间】:2021-12-20 02:17:47 【问题描述】:我正在尝试设置 Kafka 与 OCI 流服务的连接。
下面是Kafka连接docker的配置,
connect:
image: confluentinc/cp-kafka-connect-base:7.0.0
hostname: connect
ports:
- 8083:8083
container_name: connect
environment:
CONNECT_BOOTSTRAP_SERVERS: '<BOOTSTRAP_SERVER>'
CONNECT_REST_ADVERTISED_HOST_NAME: connect
CONNECT_REST_PORT: 8083
CONNECT_GROUP_ID: compose-connect-group
CONNECT_CONFIG_STORAGE_TOPIC: '<KAFKA_CONNECT_OCI_ID>'-config
CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR: 3
CONNECT_OFFSET_FLUSH_INTERVAL_MS: 200000
CONNECT_OFFSET_STORAGE_TOPIC: '<KAFKA_CONNECT_OCI_ID>'-offset
CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR: 3
CONNECT_STATUS_STORAGE_TOPIC: '<KAFKA_CONNECT_OCI_ID>'-status
CONNECT_STATUS_STORAGE_REPLICATION_FACTOR: 3
CONNECT_KEY_CONVERTER: org.apache.kafka.connect.json.JsonConverter
CONNECT_VALUE_CONVERTER: org.apache.kafka.connect.json.JsonConverter
CONNECT_INTERNAL_KEY_CONVERTER: "org.apache.kafka.connect.json.JsonConverter"
CONNECT_INTERNAL_VALUE_CONVERTER: "org.apache.kafka.connect.json.JsonConverter"
CONNECT_LOG4J_ROOT_LOGLEVEL: "INFO"
CONNECT_LOG4J_LOGGERS: "org.apache.kafka.connect.runtime.rest=WARN,org.reflections=ERROR,com.mongodb.kafka=DEBUG"
CONNECT_PLUGIN_PATH: /usr/share/confluent-hub-components
CONNECT_SECURITY_PROTOCOL: SASL_SSL
CONNECT_SASL_MECHANISM: PLAIN
CONNECT_SASL_JAAS_CONFIG: "<JASS_CONFIG_AS_IN_STREAMINGPOOL_SETTINGS>"
CONNECT_PRODUCER_SECURITY_PROTOCOL: SASL_SSL
CONNECT_PRODUCER_SASL_MECHANISM: PLAIN
CONNECT_PRODUCER_SASL_JAAS_CONFIG: "<JASS_CONFIG_AS_IN_STREAMINGPOOL_SETTINGS>"
CONNECT_CONSUMER_SECURITY_PROTOCOL: SASL_SSL
CONNECT_CONSUMER_SASL_MECHANISM: PLAIN
CONNECT_CONSUMER_SASL_JAAS_CONFIG: "<JASS_CONFIG_AS_IN_STREAMINGPOOL_SETTINGS>"
CONNECT_CONSUMER_MAX_POLL_RECORDS: 1000
KAFKA_HEAP_OPTS: "-Xms1G -Xmx4G"
遇到错误
ERROR [Worker clientId=connect-1, groupId=compose-connect-group] Uncaught exception in herder work thread, exiting: (org.apache.kafka.connect.runtime.distributed.DistributedHerder) org.apache.kafka.common.errors.TimeoutException: Timeout of 60000ms expired before the position for partition <KAFKA_CONNECT_OCI_ID>-offset-0 could be determined
INFO Kafka Connect stopping (org.apache.kafka.connect.runtime.Connect)
我不认为有网络问题,因为当我有不同的主题名称或错误的引导服务器时,我会得到不同的错误,甚至无法启动。但对我来说,这个错误会在一分钟后出现,平均时间 REST 调用 GET 请求工作。
请注意,AWS MSK 的类似配置适用于我。
请帮我解决问题。
更新: OCI 流媒体服务不支持最新版本的 Kafka 连接。在我更改为 5.x 后它工作了
【问题讨论】:
我建议您联系 OCI 客户服务并提出这个问题。这将让您提供更具体的详细信息,例如哪个区域、流 id 和详细的 kafka 日志。更多信息在这里:docs.oracle.com/en-us/iaas/Content/GSG/Tasks/… 这看起来像是发出元数据请求的超时,最常见的原因是受到限制。如果您将流 ID 提供给客户支持,他们将能够确认。 除了 Jon 所说的,请查看我们的 Kafka Connect 文档docs.oracle.com/en-us/iaas/Content/Streaming/Tasks/… 【参考方案1】:OCI 流媒体服务不支持最新版本的 Kafka 连接。在我更改为 5.x 后它工作了
【讨论】:
以上是关于Kafka 与 OCI 流服务连接失败的主要内容,如果未能解决你的问题,请参考以下文章
32位的xp系统用plsql连接32位的oracle时初始化失败找不到库oci.dll,求解释
window 7 系统下 ,PL/SQL 连接Oracle11g 失败。