kafka服务器 端口映射,图kafka主机端口映射

我想使用fig与卡夫卡来管理kafka集群。图kafka主机端口映射

我是无花果的初学者,我有一个hostPort映射问题。

我使用kafka-docker作为kafka图像。我的无花果是这里:

zookeeper:

image: jplock/zookeeper:3.4.6

ports:

- "2181"

kafka:

image: wurstmeister/kafka:0.8.1.1-1

ports:

- "9092"

links:

- zookeeper:zk

environment:

KAFKA_ADVERTISED_HOST_NAME: 192.168.59.103

volumes:

- /var/run/docker.sock:/var/run/docker.sock

这是与图像给出的例子。

现在,这里是我的问题:

我运行这个命令来启动群集:

图规模卡夫卡= 2

我创建了一个卡夫卡话题是这样的:

./kafka-topics.sh --create --zookeeper 192.168.59.103:49157 --repli阳离子因子2 --partitions 1 --topic测试

下一页:

$ ./kafka-topics.sh --describe --zookeeper 192.168.59.103:49157 --topic TEST2主题:TEST2 PartitionCount:1 ReplicationFactor:2个CONFIGS:主题: TEST2分区:0负责人:49158副本:49159,49158 ISR:49159,49158

现在我figKakfa_2崩溃因为某些原因(它在49159端口上运行)。

如何使用相同的端口重新启动此容器?

如果我再次运行scale命令,我得到一个新的容器,但映射到另一个hostPort上,并且动物园管理员没有将它作为旧实例。

谢谢。

2014-12-03

Kiva

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果使用 Docker Compose 搭建并运行 Kafka 服务,而在 Java 应用程序访问 Docker 所在主机映射出来的 Kafka 端口时,hostname 会变成 Kafka 在 Docker 的 ID,可能是因为 Java 应用程序无法正确解析 Docker Compose 配置的 hostname 导致的。要解决这个问题,可以尝试以下两种方法: 1. 将 `KAFKA_ADVERTISED_HOST_NAME` 的值设置为 Docker 主机的 IP 地址 在 Docker Compose 配置文件,将 `KAFKA_ADVERTISED_HOST_NAME` 的值设置为 Docker 主机的 IP 地址,而不是 Kafka 在 Docker 的 ID。这样做可以确保 Java 应用程序能够正确解析 Kafka 主机名并连接到 Kafka Broker。 ``` ... environment: KAFKA_ADVERTISED_HOST_NAME: <DOCKER_HOST_IP> KAFKA_ADVERTISED_PORT: 9092 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 ... ``` 2. 在 Java 应用程序配置 Docker Compose 网络 另一种方法是在 Java 应用程序配置 Docker Compose 网络,以便应用程序可以正确解析 Docker Compose 配置的 hostname。在 Java 应用程序,可以使用 `docker-compose.yml` 定义的服务名称作为 hostname,例如 `kafka`。 ``` Properties props = new Properties(); props.put("bootstrap.servers", "kafka:9092"); ... KafkaProducer<String, String> producer = new KafkaProducer<>(props); ``` 在这个例子,Java 应用程序使用 `kafka` 作为 Kafka Broker 的 hostname,而不是 Docker 的 ID。在启动 Java 应用程序之前,需要确保 Docker Compose 网络已经创建,并且 Java 应用程序能够正确连接到网络。 无论使用哪种方法,都需要确保 Java 应用程序能够正确解析 Kafka 主机名并连接到 Kafka Broker。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值