将我的docker apache Kafka连接到本地apache nifi [duplicate]

r3i60tvu  于 2023-08-02  发布在  Apache
关注(0)|答案(1)|浏览(111)

此问题在此处已有答案

Connect to Kafka running in Docker(6个答案)
Apache Nifi ConsumeKafka is not reading Topics(1个答案)
13天前关闭
我有一个Kafka在docker中运行,它在docker-composit.yaml中的配置是

kafka:
    image: quay.io/debezium/kafka:1.8
    links:
      - zookeeper
    ports:
      - 29092:29092
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1

字符串
我给出了这个配置,以便我可以将Kafka的数据发送到运行在https://127.0.0.1:8443/nifi上的Apachenifi的consumekafka处理器
在构建我的docker的compose文件时,我得到了错误**No resolvable bootstrap urls given in bootstrap. servers.**我想配置Kafka的环境,这样我就可以在apache nifi中访问我的docker之外的数据。如何配置它和配置后,我应该使用什么URL在consumekafka处理器?
请帮帮我

qgzx9mmu

qgzx9mmu1#

此错误表明Kafka客户端(在您的情况下,是NiFi中的ConsumeKafka处理器)无法连接到Kafka服务器。这通常是因为Kafka客户端中的bootstrap.servers属性配置不正确,或者因为客户端和服务器之间存在网络问题。
在Kafka的docker-compose配置中,以下环境变量设置了可以访问Kafka的地址:

KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092

字符串
这个配置说明Kafka可以从Docker网络中的kafka:9092和本地机器上的localhost:29092访问。
要从本地机器上运行的NiFi访问Kafka,您应该将ConsumeKafka处理器中的bootstrap.servers属性设置为localhost:29092
这将告诉NiFi在正确的地址连接到Kafka。如果您在进行此更改后仍然遇到问题,请检查您的Docker和网络配置,以确保端口正确暴露,并且没有任何防火墙或其他网络安全设置可能会阻止连接。
请注意,虽然这种设置对于本地开发环境来说很好,但您可能需要采取其他安全措施,例如对生产系统使用加密和身份验证。例如,这可能涉及将PLAINTEXT协议更改为SASL_SSLSSL

相关问题