昨天发现开发环境的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

docker kafka 修改hostname导致的问题的更多相关文章

  1. docker kafka 外网访问不到

    linux虚拟机中的kafka docker 容器外网显示: 原因: kafka的外网IP端口配置参数设置错误. 原-->设置了容器的IP端口. 改-->设置宿主机的ip以及宿主机上的端口 ...

  2. liunux 修改hostname

    最近鼓捣Oracle,记录些技巧 修改hostname # vim /ect/hosts # vim /etc/sysconfig/network 修改hostname # service netwo ...

  3. 深入理解Linux修改hostname

    当我觉得对Linux系统下修改hostname已经非常熟悉的时候,今天碰到了几个个问题,这几个问题给我好好上了一课,很多知识点,当你觉得你已经掌握的时候,其实你了解的还只是皮毛.技术活,切勿浅尝则止! ...

  4. 转: 深入理解Linux修改hostname

    from: http://www.cnblogs.com/kerrycode/p/3595724.html 写的相当详细!!! 深入理解Linux修改hostname 2014-03-12 10:17 ...

  5. 自定义Docker容器的 hostname

    自定义Docker容器的 hostname   作者: John Deng 原创内容,欢迎传播,请注明出处:http://www.cnblogs.com/johnd/p/set-docker-host ...

  6. (一)kafka修改topic分区的位置

    (一)kafka修改topic分区的位置 环境:kafka_2.10-0.8.2.1 + JDK1.7.0_80 1. 查看分区topic的分区分布 $ le-kafka-topics.sh --de ...

  7. centos修改hostname以及时间同步

    centos修改hostname 方法一: 执行命令:hostname test 则修改hostname为test 方法二: 永久修改hostname vi /etc/sysconfig/networ ...

  8. linux修改hostname

    1.如果只是修改hostname可以通过如下命令 hostname newHostname 注意:这种修改方式只有当前有效,等服务器重启后hostname就会失效,回到原来的hostname. 2.如 ...

  9. [转载] 深入理解Linux修改hostname

    原文: http://www.cnblogs.com/kerrycode/p/3595724.html 当我觉得对Linux系统下修改hostname已经非常熟悉的时候,今天碰到了几个个问题,这几个问 ...

随机推荐

  1. Spring注解配置Aop

    之前学习了SpringAop的基本原理.http://www.cnblogs.com/expiator/p/7977975.html 现在尝试使用注解来配置SpringAop. Aop,面向切面编程. ...

  2. java实现最通俗易懂的01背包问题

    这几天一直在想背包问题,昨天还有个学长专门讲了,但是还是不是很理解,今天我终于想通了背包问题,其实只要理解了这个思路,不管用什么语言,肯定是能编出来的.下面我就来介绍一下背包问题. 1.题目描述: 有 ...

  3. IDEA 提示找不到 javax 等 tomcat 的相关包

    网上很多方法都告诉你,把 javax 的 libs 拷贝到项目下吧,简直简单粗暴.其实有更好的办法. 1.首先进入 Run 其中的 Run/Debug Configurations,在 Server ...

  4. 801. Minimum Swaps To Make Sequences Increasing 为使两个数组严格递增,所需要的最小交换次数

    [抄题]: We have two integer sequences A and B of the same non-zero length. We are allowed to swap elem ...

  5. udacity term_sim.x86_64 ubuntu16.04 Vmware

    打印信息 ./term2_sim.x86_64 Set current directory to /home/mwolfram/udacity/sdcnd/term2/term2_sim_linux ...

  6. [C++] NULL VS nullptr

    NULL VS nullptr

  7. char a[] = "hello world1"和char *p = "hello world2";的区别(转)

    转自:jianchi88 http://blog.csdn.net/jianchi88/article/details/6876405 #include<stdio.h> int main ...

  8. select右三角消除(转)

    代码如下: select { /*Chrome和Firefox里面的边框是不一样的,所以复写了一下*/ border: solid 1px #; /*很关键:将默认的select选择框样式清除*/ a ...

  9. jquery 常用工具方法

    inArray(value, array [, fromIndex ])方法类似于原生javascript的indexOf()方法,没有找到匹配元素时它返回-1.如果数组第一个元素匹配参数,那么$.i ...

  10. WCF服务编程 读书笔记——第1章 WCF基础(2)

    续:第1章 WCF基础(1) 元数据交换 服务有两种方案可以发布自己的元数据.一种是基于HTTP-GET协议提供元数据, 另一种则是后面将要讨论的使用专门的终结点的方式.WCF能够为服务自动提供基于H ...