当前位置: 首页 > 知识库问答 >
问题:

如何更改Spring Cloud Stream Kafka活页夹的目标?

公西志文
2023-03-14

使用Spring Cloud Stream 2.1.4和Spring Boot 2.1.10,我试图以Kafka的本地实例为目标。到目前为止,这是我的项目配置的摘录:

spring.kafka.bootstrap-servers=PLAINTEXT://localhost:9092
spring.kafka.streams.bootstrap-servers=PLAINTEXT://localhost:9092
spring.cloud.stream.kafka.binder.brokers=PLAINTEXT://localhost:9092
spring.cloud.stream.kafka.binder.zkNodes=localhost:2181
spring.cloud.stream.kafka.streams.binder.brokers=PLAINTEXT://localhost:9092
spring.cloud.stream.kafka.streams.binder.zkNodes=localhost:2181

但活页夹一直在呼唤一个错误的目标:

java.io.IOException: Can't resolve address: kafka.example.com:9092

如果这些属性不起作用,我如何指定目标?此外,我通过Docker Bitnami映像部署Kafka实例,我不喜欢使用SSL配置(请参阅PLAINTEXT协议),但我找不到基本凭据登录的属性。有人知道这是不是没救了吗?

这是我的码头工人。yml

version: '3'
services: 
  zookeeper:
    image: bitnami/zookeeper:latest
    container_name: zookeeper
    environment:
      - ZOO_ENABLE_AUTH=yes
      - ZOO_SERVER_USERS=kafka
      - ZOO_SERVER_PASSWORDS=kafka_password
    networks:
      - kafka-net
  kafka:
    image: bitnami/kafka:latest
    container_name: kafka
    hostname: kafka.example.com
    depends_on:
      - zookeeper
    ports:
      - 9092:9092
    environment:
      - ALLOW_PLAINTEXT_LISTENER=yes
      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://:9092
      - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
      - KAFKA_ZOOKEEPER_USER=kafka
      - KAFKA_ZOOKEEPER_PASSWORD=kafka_password
    networks:
      - kafka-net
networks:
  kafka-net:
    driver: bridge

提前谢谢

共有2个答案

薛宏壮
2023-03-14

好吧:通过两次查看dockerfile(thx到cricket_007)来实现这一点:

kafka:
...
    hostname: localhost

郑重声明:我可以摆脱上面所有的属性,默认是Kafkalocalhost:9092

袁法
2023-03-14

默认情况下,hostname不是问题所在,rahter播发的侦听器协议//:端口映射会导致播发主机名。您应该更改它,而不是主机名。

  kafka:
    image: bitnami/kafka:latest
    container_name: kafka
    hostname: kafka.example.com # <--- Here's what you are getting in the request
    ...
    environment:
      - ALLOW_PLAINTEXT_LISTENER=yes
      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://:9092 # <--- This returns the hostname to the clients

如果您计划在另一个容器之外运行代码,那么除了容器主机名之外,还应该发布localhost,或者代替容器主机名。

一年后,我的评论仍然没有被合并到bitnami README中,在那里我能够让它与以下vars一起工作(更改以匹配您的部署)

KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_CFG_LISTENERS=PLAINTEXT://:29092,PLAINTEXT_HOST://:9092
KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka.example.com:29092,PLAINTEXT_HOST://localhost:9092
 类似资料:
  • 示例:http://undeniable.info/img/temp_ss.png 我使用的是用户审批系统,因此说您的帐户处于活动状态的消息根本不合适。我们仍然希望我们的用户确认他们的电子邮件,因此我想将邮件“帐户激活”更改为“帐户电子邮件验证”,并将“激活您的帐户”更改为“验证您的帐户电子邮件”或类似的内容。 在我的整个public_html dir中搜索这些帐户激活的消息时,不会返回任何内容,

  • 问题内容: 因此,如何在Java(Windows系统)中更改文件夹的图标,是否有类或某些原因导致我搜索了却找不到任何东西? 问题答案: 根据注释,您正在谈论的文件夹图标是在文件夹本身的隐藏“ ini”文件中指定的。 您 可以 通过将其读取为文本等方式 来 创建/修改文件,但是使用现有的第三方Java库更简单。我已经成功使用了开源ini4j Java库。

  • 问题内容: 我正在尝试更改用户在我的网站上选择的活动或当前页面导航链接的颜色。我究竟做错了什么?谢谢。 到目前为止,CSS如下所示: 我的HTML使用include PHP函数调用导航菜单的页面模板: 问题答案: 我认为您对CSS选择器的功能感到困惑。这仅会在您单击链接时更改链接的颜色(并且仅在单击期间,即鼠标按钮保持按下的时间)。您需要做的是在CSS中引入一个新类,例如,当您选择一个链接时,使用

  • 问题内容: 如何在Netbeans 6.9中更改Java SE \ ME \ EE的默认项目目录? 问题答案: 我认为您无法将其设置为特定于模块,但可以将其设置如下: 关闭NetBeans 查找文件。对我来说(Windows) 该变量我想你想改变什么。

  • 问题内容: 这是互联网上用于初始化绑定程序的代码 谁能解释一下: 1)为什么要使用它,我的意思是,之前的问题是什么,如何使用该功能解决它。所以我想知道用这种日期格式解决的原始日期有什么问题吗? 2)从JSP表单的角度来看,该如何使用这种格式,我的意思是,如果我们以文本格式输入日期,则它会隐式转换为特定格式然后保存吗? 3)我的意思是说,格式设置如何应用于对象类中? 问题答案: 1)在此之前,您不得

  • 问题内容: 我正在尝试查看特定文件夹中的更改,然后,如果其中发生任何添加/修订/删除,则需要获取该文件夹及其子文件夹中所有文件的更改类型。我正在为此使用,但它仅监视单个路径,不处理子文件夹。 这是我的方法: 就像我之前说过的,我只获取所选路径中文件的日志,并且我想查看所有文件夹和子文件夹文件,例如: 范例1: 范例2: 有没有更好的解决方案? 问题答案: A 仅监视您注册的S。它不会递归地通过这些