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. CSS规则

    CSS规则 --------------------------------------------- 1 前言 2 代码风格 2.1 文件 2.2 缩进 2.3 空格 2.4 行长度 2.5 选择器 ...

  2. angularjs 选项卡tab切换(移动端用户订单状态)

    <!--头部导航tabs切换--> <div class="tabs-striped tabs-top tabs-background-positive tabs-colo ...

  3. SQL SERVER Buffer Pool扩展

    Buffer Pool扩展简介 Buffer Pool扩展是buffer pool 和非易失的SSD硬盘做连接.以SSD硬盘的特点来提高随机读性能. 在Buffer Pool 扩展之前,SQL Ser ...

  4. 解决删除元素动画的bug

    效果说明 首先说明一下我需要做到的效果 其实很简单---点击删除按钮的时候,加入删除动画 删除动画是这样的,高度和宽度都会均匀的变小,内部的元素需要被隐藏(因为会有文字挤在一起):直到变为0结束,时长 ...

  5. 小明历险记:规则引擎drools教程一

    小明是一家互联网公司的软件工程师,他们公司为了吸引新用户经常会搞活动,小明常常为了做活动加班加点很烦躁,这不今天呀又来了一个活动需求,我们大家一起帮他看看. 小明的烦恼 活动规则是根据用户购买订单的金 ...

  6. JavaScript:int string 相互转化

    A.把int型转换成string型 (1) var   x=100    a   =   x.toString()      (2) var   x=100;    a   =   x   +&quo ...

  7. python基础===zip在python3中的用法

    name=["ad","kein","tom"] age=[23,45,22] tel=['157','139','167'] print( ...

  8. C++ Socket学习记录 -3

    WinSocket套接字之间的数据传输 在客户端和服务端建立链接后,接着就是在套接字之间传输数据. 很简单的使用 recv 接收数据,用send发送数据,单但是出现一个问题,不管接收还是发送,数据都是 ...

  9. rtems的GNU(GCC)编译环境配置

    // 创建目录 /home/shael/rtems/build   //存放解压包和编译包目录 /home/shael/rtems/archive   //存放源码包目录 /home/shael/rt ...

  10. css动画过渡

    css动画过渡css代码: .div03{ width:100px;height:100px;background: rebeccapurple;color: #fff; -webkit-transi ...