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,求解释

navicat连接oracle失败

window 7 系统下 ,PL/SQL 连接Oracle11g 失败。

kafka开启scarm认证报连接其中一个节点失败

使用 Azure Function 作为流分析的输出:连接测试失败

动态从zookeeper读取kafka信息