Kafka中操作topic时 Error: Failed to parse the broker info from zookeeper

1.问题描述

 

2.问题原因

    kafka在启动后,会将broker的信息存放在对应的zookeeper里的zNode中,默认存放在zookeeper中的路径 /broker/ids/xxx(当然如果在kafka的server.properties文件中指定zookeeper中的路径/kafka,那么对应的zNode也会在/kafka下创建
    当出现不能从zookeeper中解析broker的信息时,那么就是说明zookeeper中没有对应的zNode(/broker/ids/xxx)或者有这个zNode(即ids下的broker id)但是broker id中没有该broker的信息

For example:

方式一(以下在kafka的server.properties中指定了/kafka,那么会在zookeeper的/kafka路径下创建/broker/ids/xxx)

1.这是在server.properties的配置

2.在zookeeper中查看对应的zNode
 

方式二(以下在kafka的server.properties中没有指定/kafka,那么默认的路径是在zookeeper的根路径下创建/broker/ids/xxx)

1.这是在server.properties的配置

2.在zookeeper中查看对应的zNode

 

3.解决方案

方案一:

    重新启动kafka集群

方案二:

    首先知道kafka集群依赖的zookeeper的集群以及zookeeper的安装目录;
    其次知道kafka集群的broker有那几台(就是每一个broker的broker id是多少),同时查看kafka配置文件server.properties中连接zookeeper时有没有指定路径(比如/kafka)
    然后进入到$ZOOKEEPER_HOME/bin下启动zkCli.sh,如果么有对应的zNode,那么创建(注意是在根路径下还是在/kafka下),然后在每一个zNode(/broker/ids/broker的id)下放入该broker的信息
在zookeeper上创建broker信息(date -d @1504856535 +"%Y-%m-%d %H:%M:%S")
set /brokers/ids/182 {"jmx_port":-1,"timestamp":"1504856535","endpoints":["PLAINTEXT://123.59.18.182:9092"],"host":"123.59.18.182","version":1,"port":9092} set /brokers/ids/183 {"jmx_port":-1,"timestamp":"1504856535","endpoints":["PLAINTEXT://123.59.18.183:9092"],"host":"123.59.18.183","version":1,"port":9092} set /brokers/ids/154 {"jmx_port":-1,"timestamp":"1504856535","endpoints":["PLAINTEXT://123.59.18.154:9092"],"host":"123.59.18.154","version":1,"port":9092} set /brokers/ids/33 {"jmx_port":-1,"timestamp":"1504856535","endpoints":["PLAINTEXT://123.59.17.33:9092"],"host":"123.59.17.33","version":1,"port":9092} set /brokers/ids/116 {"jmx_port":-1,"timestamp":"1504856535","endpoints":["PLAINTEXT://123.59.17.116:9092"],"host":"123.59.17.116","version":1,"port":9092}
 
    最后创建topic,执行成功

 
 
 
 
 

Kafka中操作topic时 Error:Failed to parse the broker info from zookeeper的更多相关文章

  1. vue 项目上传到码云,push时error: failed to push some refs to 'https://gitee.com/mawenrou/vue_ht.git'

    vue 项目上传到码云,push时error: failed to push some refs to 'https://gitee.com/mawenrou/vue_ht.git' 因为之前已经创建 ...

  2. 删除Kafka中的topic

    删除Kafka中的topic 一.配置delete.topic.enable=true 二.其他方法 一.配置delete.topic.enable=true 修改kafaka配置文件server.p ...

  3. 【Linux】【Jenkins】编译过程中遇到ERROR: Failed to parse POMs的解决方案

    自动化构建的时候报错,网搜查询说是maven的jenkinks配置问题导致的.修改系统工具配置的maven配置就可以了 Started by user XX Building in workspace ...

  4. 彻底删除Kafka中的topic

    1.删除kafka存储目录(server.properties文件log.dirs配置,默认为"/tmp/kafka-logs")相关topic目录 2.Kafka 删除topic ...

  5. 在Kafka中修改Topic的preferred replica

    参考site:https://cwiki.apache.org/confluence/display/KAFKA/Replication+tools 目前我们的topic  test-add-repl ...

  6. CentOS安装rpm包时error:Failed dependencies

    CentOS6.5安装rpm包时报错,error:Failed dependencies,解决方法如下: 在安装命令后加两个参数 --nodeps --force ,即安装时不再分析包之间的依赖关系而 ...

  7. 如何解决git====push 过程中出现的。error: failed to push some refs

    当我们在利用git  push 文件到仓库时出现了一下问题: ! [rejected] master -> master (fetch first)error: failed to push s ...

  8. kafka之五:如何手动更新Kafka中某个Topic的偏移量

    本文介绍如何手动跟新zookeeper中的偏移量.我们在使用kafka的过程中,有时候需要通过修改偏移量来进行重新消费.我们都知道offsets是记录在zookeeper中的,所以我们想修改offse ...

  9. SqlAlchemy 中操作数据库时session和scoped_session的区别(源码分析)

    原生session: from sqlalchemy.orm import sessionmaker from sqlalchemy import create_engine from sqlalch ...

随机推荐

  1. 双向循环链表(C语言描述)(三)

    代码清单 // linkedlist.h #ifndef __LINKEDLIST_H__ #define __LINKEDLIST_H__ #include <assert.h> #in ...

  2. Docker实践 - 安装Docker并在容器里运行tomcat

    安装Docker yum install docker 本文使用的系统是centos7,ubuntu使用以下命令 sudo apt-get update sudo apt-get install do ...

  3. CLI子命令扩展-插件机制实现

    开发CLI工具过程中,为了便于扩展,将CLI的实现分为基础功能和扩展功能.基础功能包括init.build.lint.publish等伴随工程从初始化到最终发布到生产环境,也即为CLI 的core.扩 ...

  4. cve-2017-8464 复现 快捷方式远程代码执行

    cve-2017-8464 2017年6月13日,微软官方发布编号为CVE-2017-8464的漏洞公告,官方介绍Windows系统在解析快捷方式时存在远程执行任意代码的高危漏洞,黑客可以通过U盘.网 ...

  5. MySQL中的基本知识

    本文是MySQL中的一些基本知识,包括各种基本操作.数据类型和表的约束等. ps:都是自己总结.手打出来的,虽然不是什么新东西,但也勉强算原创吧.. 一.数据库 1.创建:CREATE DATABAS ...

  6. --使用oracle数据先要创建表空间

    one\--创建表空间 CREATE TABLESPACE 表空间的名字DATAFILE 'E:\oracle\app\userdata\java5space.dbf' --表空间物理文件路径SIZE ...

  7. [STM32F429-DISCO-HAL]4.Uart 的使用

    今天来学习一下最常用的外设之一USART. 首先是硬件的连接,我们需要至少三根线,GND,TX,RX.参阅datasheet.默认的USART1_TX和USART1_RX的引脚如下图 关于HAL dr ...

  8. HDU 3625 Examining the Rooms:第一类stirling数

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3625 题意: 有n个房间,每个房间里放着一把钥匙,对应能开1到n号房间的门. 除了1号门,你可以踹开任 ...

  9. OS作业模拟SJF和FCFS

    一个OS的作业, 用于模拟短作业优先 和 先来先服务两种作业调度方式. #!/usr/bin/python3.5 ## Modify the SJF and FCFS algorithm in the ...

  10. SQL查询操作及子句优先级

    用source .sql文件竟然可以自动建表. 简单数据查询: select * from table_name; 避免重复查询: select distinct(field_name) from t ...