使用Docker启动kafka创建topic异常

发表于: 2019-08-27   最后更新时间: 2019-08-27  

使用Docker启动kafka创建topic异常

我自己打了kafka的docker镜像,启动后日志正常且zk中有对应节点,使用命令创建topic提示成功,但对应log文件夹没有test3-0 这个文件夹生成,我使用相同的配置文件和命令在本机进行试验是可以正常创建的。

 启动:docker run -d -p 9093:9092 -v /root/docker/kafka/kafkalogs/:/opt/kafka-logs: --name kafka kafka:latest

 创建:docker exec kafka kafka-topics.sh --replication-factor 1 --partitions 1 --create --topic test3 --zookeeper 192.168.40.207:2181/kafkadocker

以及下图中的语句

screenshot

ZK节点中存在topic:

screenshot

Dockerfile,最后脚本只是前台启动kafka:

screenshot



您需要解锁本帖隐藏内容请: 点击这里
本帖隐藏的内容




发表于: 19天前   最后更新时间: 19天前   游览量:126

上一条: kafka消费者自动提交报错,kafka需要怎么配置呢?
下一条: 【求解惑】kafka手动commit在并发消费下会有问题,有啥好的解决方案么

  • 补充一下,我用的zookeeper不是docker的,是本机启动的zookeeper服务

    • 消息发送失败,没有对应的topic,容器内也没有
      我后来试了一下,把配置文件的端口,和映射的端口设置成一样的,就可以正常运行,当我配置文件内是9093,宿主机使用9094映射9093的话就不能使用了。

        • 1:也就是说我不管映射什么端口,实际上他发现的还是配置文件里配置的那个端口,那么我要在一台上起多个的话,就需要配置9092/3/4这样的吗?
          2:还有一个问题宿主机启动一个kafka占用9092,再启动一个容器也是9092端口映射宿主机9093,这样容器里的kafka可以正常启动,但是却没办法创建topic和生产消费。

          对于连接端口的事情我还是有些不太明白。

            • 1、是的
              2、简单点,你的docker的端口和宿主机的端口都保持一致,容器里是9093,那就都9093。

              端口和ip都有这个问题,就是你配置的转发规则什么的,客户端是不认的,它自己主动发现集群的列表,而这个列表是你配置文件中的。