如果我使用kafka容器,如何设置kafka驱动器连接器



我有点困惑。我一直在遵循这个开始和安装方法。https://aws.amazon.com/premiumsupport/knowledge-center/kinesis-kafka-connector-msk/

  1. 设置AWS cli并对其进行配置
  2. 安装maven
  3. 编译连接器
  4. 使用生成的jar设置类路径
  5. 设置连接器的属性文件
  6. 仅供参考:我有一个docker compose,它创建了我所有的容器(kafka、mqtt等((以上均为内部设置(

然后,我在我的机器上执行了所有这些,而不是在Kafka容器上,所以最后一步,当我尝试独立运行它时,这将如何工作?

version: '3'
services:  
nodered:
container_name: nodered
image: nodered/node-red
ports:
- "1880:1880"
volumes:
- ./nodered:/data
depends_on:
- mosquitto
environment:
- TZ=America/Toronto
- NODE_RED_ENABLE_PROJECTS=true
restart: always
mosquitto:
image: eclipse-mosquitto
container_name: mqtt
restart: always
ports:
- "1883:1883"
volumes:
- "./mosquitto/config:/mosquitto/config"
- "./mosquitto/data:/mosquitto/data"
- "./mosquitto/log:/mosquitto/log"
environment:
- TZ=America/Toronto
user: "${PUID}:${PGID}"
portainer:
ports:
- "9000:9000"
container_name: portainer
restart: always
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "./portainer/portainer_data:/data"
image: portainer/portainer-ce
zookeeper:
image: zookeeper:3.4
container_name: zookeeper
ports:
- "2181:2181"
volumes:
- "zookeeper_data:/data"
kafka:
image: wurstmeister/kafka:1.0.0
container_name: kafka
ports:
- "9092:9092"
- "9093:9093"
volumes:
- "kafka_data:/data"
environment:
- KAFKA_ZOOKEEPER_CONNECT=10.0.0.129:2181
- KAFKA_ADVERTISED_HOST_NAME=10.0.0.129
- JMX_PORT=9093
- KAFKA_ADVERTISED_PORT=9092
- KAFKA_LOG_RETENTION_HOURS=1
- KAFKA_MESSAGE_MAX_BYTES=10000000
- KAFKA_REPLICA_FETCH_MAX_BYTES=10000000
- KAFKA_GROUP_MAX_SESSION_TIMEOUT_MS=60000
- KAFKA_NUM_PARTITIONS=2
- KAFKA_DELETE_RETENTION_MS=1000
depends_on:
- zookeeper
restart: on-failure
cmak:
image:  hlebalbau/kafka-manager:1.3.3.16
container_name: kafka-manager
restart: always
depends_on:
- kafka
- zookeeper
ports:
- "9080:9080"
environment:
- ZK_HOSTS=10.0.0.129
- APPLICATION_SECRET=letmein
command: -Dconfig.file=/kafka-manager/conf/application.conf -Dapplication.home=/kafkamanager -Dhttp.port=9080
volumes:
zookeeper_data:
driver: local
kafka_data:
driver: local
  1. 我想我必须进入我的Kafka容器并运行下面的代码,但我如何通过机器路径引用。。。我被困在这里,或者可能我错过了什么:

    /bin/connect-standardlone.sh{{path_from_machine_here_jar_is}}/驱动蛋白kafka连接器/config/worker.properties{-连接器属性

  2. 或者我必须直接在我的Kafka容器中运行前面的所有步骤。。。

我正考虑这样做,复制我的jar文件并将其移动到我的kafka容器中。

docker cp /hostfile  (container_id):/(to_the_place_you_want_the_file_to_be)

谢谢!

我想我必须进入我的Kafka容器并运行以下代码

否。容器应该只运行一个进程,即kafka服务器。

因此,您可以在本地下载Kafka,然后从主机运行Connect脚本。

或者,您只需为Kafka Connect添加一个新容器,它将运行Connect分布式模式,而不是独立模式。

在任何一种情况下,是的,您都需要将jar复制(或装载(到Connect的插件路径中

或者,运行MSK而不是Kinesis,并在那里而不是本地生成Kafka数据。

最新更新