fig kafka主机端口Map

j8yoct9x  于 2021-06-08  发布在  Kafka
关注(0)|答案(2)|浏览(370)

我想使用fig和kafka来管理kafka集群。
我是fig的初学者,在主机端口Map方面有问题。
我用Kafka Docker 作为Kafka形象。我的fig.yml在这里:

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

这是图像中给出的例子。
现在,我的问题是:
我运行此命令以启动群集:
图比例尺Kafka=2
我创造了一个Kafka的主题如下:
./kafka-topics.sh--create--zookeeper 192.168.59.103:49157--复制因子2--分区1--主题测试
下一步:
$./kafka-topics.sh—描述—zookeeper 192.168.59.103:49157—主题测试2topic:test2 partitioncount:1个副本ionfactor:2 configs:topic:test2分区:0引线:49158副本:4915949158 isr:4915949158
现在我的figkakfaè2由于某些原因崩溃了(它运行在49159端口)。
如何用相同的端口重新启动此容器?
如果我再次运行scale命令,我会得到一个新的容器,但Map到另一个主机端口,而zookeeper不会将其作为旧示例。
谢谢。

3gtaxfhh

3gtaxfhh1#

如果你使用 net: host 在fig.yml中,所有docker容器都将使用主机的网络堆栈,无需公开端口。这意味着它们不会在重新启动时更改或按比例缩小。您需要弄清楚如何让您的kafka示例使用唯一的端口。
http://www.fig.sh/yml.html

anauzrmj

anauzrmj2#

最简单的解决方案不是在主机上公开端口,而是在端口9092上访问容器ip上的Kafka(如172.17.0.3或类似的内容)。你可以通过ip检查集装箱 $ docker inspect --format "{{json .NetworkSettings.Networks}}" <container id/name> .

相关问题