如何在独立模式下运行 Kafka-Connect SInk

问题描述 投票:0回答:1

我想在独立模式下运行一个kafka连接接收器以进行测试,因为尽管有一台强大的计算机,但我不想不必要地过度工作......

我在 docker-compose 文件中有此配置:

  kafka-connect-sink:
    image: confluentinc/cp-kafka-connect-base
    container_name: kafka-connect-sink
    depends_on:
      - kafka-1
    ports:
      - "8084:8083"
    environment:
      CONNECT_BOOTSTRAP_SERVERS: "kafka-1:9092,kafka-2:9092,kafka-3:9092"
      CONNECT_REST_PORT: 8083
      CONNECT_GROUP_ID: compose-sink-group
      CONNECT_CONFIG_STORAGE_TOPIC: docker-sink-configs
      CONNECT_OFFSET_STORAGE_TOPIC: docker-sink-offsets
      CONNECT_STATUS_STORAGE_TOPIC: docker-sink-status
      CONNECT_KEY_CONVERTER: org.apache.kafka.connect.storage.StringConverter
      CONNECT_VALUE_CONVERTER: io.confluent.connect.avro.AvroConverter
      CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL: 'http://schema-registry:8081'
      CONNECT_INTERNAL_KEY_CONVERTER: "org.apache.kafka.connect.json.JsonConverter"
      CONNECT_INTERNAL_VALUE_CONVERTER: "org.apache.kafka.connect.json.JsonConverter"
      CONNECT_REST_ADVERTISED_HOST_NAME: "kafka-connect-sink"
      CONNECT_LOG4J_ROOT_LOGLEVEL: "INFO"
      CONNECT_LOG4J_APPENDER_STDOUT_LAYOUT_CONVERSIONPATTERN: "[%d] %p %X{connector.context}%m (%c:%L)%n"
      CONNECT_LOG4J_LOGGERS: "org.apache.kafka.connect.runtime.rest=WARN,org.reflections=ERROR"
      CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR: "1"
      CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR: "1"
      CONNECT_STATUS_STORAGE_REPLICATION_FACTOR: "1"
      CONNECT_PLUGIN_PATH: '/usr/share/java,/usr/share/confluent-hub-components/'
    volumes:
      - "./kafka-connect-sa-key.json:/var/private/keys/kafka-connect-sa-key.json:ro"
    command:
      - bash
      - -c
      - |
        # Export variable to avoid prompts during plugin installation
        export CONFLUENT_FORCE_BOOTSTRAP=true

        # Install Google Cloud Storage connector
        confluent-hub install --no-prompt confluentinc/kafka-connect-gcs:latest

        # -----------
        # Launch the Kafka Connect worker
        /etc/confluent/docker/run & sleep infinity
    networks:
      - kafka-connect-distributed

我试着摆弄了一下,但不幸的是没有运气......最终我不得不依靠创建 3 个经纪人并以分布式方式旋转整个过程。

有没有办法以独立模式旋转接收器连接器?意思是,我可以指定连接器仅复制其内部分区一次吗?

我查看了汇合文档,但没有指定如何在容器中执行此操作,我尝试在

command:
部分中的此条目中自定义启动

/etc/confluence/docker/运行独立模式和睡眠无限

但这并没有帮助。

docker apache-kafka apache-kafka-connect
1个回答
0
投票
虽然可能(您会使用

connect-standalone

 而不是 
standalone-mode
),但没有理由真的这样做

该容器旨在与

connect-distributed

 一起运行,并且两种模式的代码库基本相同,因此不会“超载”您的机器

© www.soinside.com 2019 - 2024. All rights reserved.