zoukankan      html  css  js  c++  java
  • docker kafka 修改hostname导致的问题

    昨天发现开发环境的3台kafka无法消费,所以今日kafka的容器执行如下语句

    bash-4.4# ./kafka-topics.sh --describe --zookeeper 192.168.0.170:2181 --topic nova2_plantree_topic
    Topic:nova2_plantree_topic PartitionCount:3 ReplicationFactor:3 Configs:
    Topic: nova2_plantree_topic Partition: 0 Leader: 2 Replicas: 2,1,0 Isr: 2,1,0
    Topic: nova2_plantree_topic Partition: 1 Leader: 0 Replicas: 0,2,1 Isr: 0,2,1
    Topic: nova2_plantree_topic Partition: 2 Leader: 1 Replicas: 1,0,2 Isr: 1,0,2

    发现topic是好的

    然后执行

    bash-4.4# ./kafka-consumer-groups.sh --bootstrap-server 192.168.0.170:9092 --list

    发现消费者group是空的,或者直接报错

    然后查看java的消费者日志,报错很多   

    2019-03-13 09:42:39.641 org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1 WARN org.apache.kafka.clients.NetworkClient$DefaultMetadataUpdater.handleCompletedMetadataResponse(NetworkClient.java:846) - Error while fetching metadata with correlation id 879 : {nova2_plantree_topic=LEADER_NOT_AVAILABLE}

    后面网上查了一下,说可能是hostname被修改了而没有修改kafka的配置的原因,和同事沟通了一下发现确实这几天修改了hostname

    所以我在docker 里对kafka的/opt/kafka_2.12-2.1.0/config/server.properties 加了如下的配置

    advertised.host.name=win-jrh378d7scu.auth.hpicorp.net

    然后重启所有的三台docker上的zookeeper和kafka

    然后再看java消费者的日志,没有报错LEADER_NOT_AVAILABLE了,但是239的kafka好像还是有问题,后面看了239的kafka的docker日志,发现连不上183和3的zookeeper

    检查了一下3台的zookeeper都是正常的监听了2181端口,所以肯定是docker机器开机的时候没有关闭防火墙,后来把防火墙关闭了没有重启docker导致有的zookeeper的端口访问不了

    所以我把三台的docker都systemctl stop后再start

    再把三台zookeeper和kafka都启动就好了

    在kafka中执行也可以查询到消费group了

    bash-4.4# ./kafka-consumer-groups.sh --bootstrap-server 15.31.213.183:9094 --list
    plantree_group

  • 相关阅读:
    fatal: unable to auto-detect email address (got 'tim@newton.(none)')的解决方法
    使用git命令提示“不是内部或外部命令
    Windows系统下安装 CMake
    php与mysql的连接
    array_merge和加号的区别
    可重入锁的实现
    redis scan
    redis主丛,哨兵和集群的区别
    高并发架构系列:Redis并发竞争key的解决方案详解
    laravel上传图片
  • 原文地址:https://www.cnblogs.com/xiaohanlin/p/10530163.html
Copyright © 2011-2022 走看看