Kafka集群版本升级(2.11-0.10.1.0)升级(2.11-0.10.2.2)

官网升级说明:

一、系统环境
Zookeeper集群:
172.16.2.10
172.16.2.11
172.16.2.12
Kafka集群:
172.16.2.10
172.16.2.11
172.16.2.12

现Kafka版本: 2.11-0.10.1.0,安装目录:/usr/local/kafka
计划升级至版本:2.11-0.10.2.2,安装目录:/usr/local/kafka_2.11-0.10.2.2

二、创建测试topic
1.创建测试topic

/usr/local/kafka/bin/kafka-topics.sh --zookeeper 172.16.2.10:,172.16.2.11:,172.16.2.12:  --create --replication-factor   --partitions  --topic first

/usr/local/kafka/bin/kafka-topics.sh --zookeeper 172.16.2.10:,172.16.2.11:,172.16.2.12:  --create --replication-factor   --partitions  --topic second

2.查看测试topic

/usr/local/kafka/bin/kafka-topics.sh --zookeeper 172.16.2.10:,172.16.2.11:,172.16.2.12: --describe --topic first
Ls /data/kafka/

3.查看当前服务器中的所有topic

/usr/local/kafka/bin/kafka-topics.sh --zookeeper 172.16.2.10:,172.16.2.11:,172.16.2.12: --list

三、升级步骤
1.安装新版本kafka

tar  -xf  kafka_2.-0.10.2.2.tgz  -C /usr/local/
cp /usr/local/kafka_2.-0.10.1.0/config/server.properties /usr/local/kafka_2.-0.10.2.2/config/server.properties

2.修改配置
注:修改配置2.11-0.10.2.2(升级版本)的server.properties,添加2行,其他配置保持不变,特别是数据存储目录,cp 2.10-0.10.1.0(旧版本)的配置

cp /usr/local/kafka/config/server.properties /usr/local/kafka_2.-0.10.2.2/config/server.properties
vim /usr/local/kafka_2.-0.10.2.2/config/server.properties
inter.broker.protocol.version=0.10.1.0
log.message.format.version=0.10.1.0

3.停止原版本
注:停止原版本的kafka,使用kafka自带stop脚本bin下的kafka-server-stop.sh或者kill掉, 然后启动2.11-0.10.2.2,由于之前配置了环境变量,注意用2.11-0.10.2.2目录下的程序去启动kafka

usr/local/kafka/bin/kafka-server-stop.sh
ps -ef|grep kafka

4.启动新版本
第一台kafka服务器后台启动

/usr/local/kafka_2.-0.10.2.2/bin/kafka-server-start.sh -daemon /usr/local/kafka_2.-0.10.2.2/config/server.properties
tail -f /usr/local/kafka_2.-0.10.2.2/logs/server.log

查看topic first:

/usr/local/kafka_2.-0.10.2.2/bin/kafka-topics.sh --zookeeper 172.16.2.10:,172.16.2.11:,172.16.2.12: --describe --topic first

测试创建topic test1

/usr/local/kafka_2.-0.10.2.2/bin/kafka-topics.sh --zookeeper 172.16.2.10:,172.16.2.11:,172.16.2.12:  --create --replication-factor   --partitions  --topic test1

没有异常,观察半小时左右,将剩下的两台服务器都这样操作,更新配置,关闭原版本,启动新版本kafka

cp /usr/local/kafka/config/server.properties /usr/local/kafka_2.-0.10.2.2/config/server.properties
vim /usr/local/kafka_2.-0.10.2.2/config/server.properties
inter.broker.protocol.version=0.10.1.0
log.message.format.version=0.10.1.0

第二台kafka

第三台kafka

注意:替换新版broker后,注意查看新版broker是否已经注册到zookeeper,所在机器上的的副本是否已经可用。确定可用之后再更新下一台broker。

5.看kafka在zookeeper中节点信息和查看方式
(1).先到zookeeper的bin下面
Cd /usr/local/zookeeper/bin
(2).执行命令./zkCli.sh
(3).输入命令 ls /,ls /consumers 这个命令是消费者 还没有数据

(4).输入下图中的命令就能看到了

6.修改新版本配置

确定上诉步骤已经执行完毕,并且集群一切正常后,
再次更新broker间通讯版本和消息格式版本,修改所有新版配置文件server.properties

vim /usr/local/kafka_2.-0.10.2.2/config/server.properties
inter.broker.protocol.version=0.10.2.2
log.message.format.version=0.10.2.2

再次依次重启新版kafka集群

/usr/local/kafka_2.-0.10.2.2/bin/kafka-server-stop.sh
ps -ef|grep kafka
后台启动 :
/usr/local/kafka_2.-0.10.2.2/bin/kafka-server-start.sh -daemon /usr/local//kafka_2.11-0.10.2.2/config/server.properties
tail -f /usr/local/kafka_2.-0.10.2.2/logs/server.log

7.验证升级完成

/usr/local/kafka_2.-0.10.2.2/bin/kafka-topics.sh --zookeeper 172.16.2.10:,172.16.2.11:,172.16.2.12: --describe --topic first
/usr/local/kafka_2.-0.10.2.2/bin/kafka-topics.sh --zookeeper 172.16.2.10:,172.16.2.11:,172.16.2.12: --describe --topic sencod
/usr/local/ kafka_2.-0.10.2.2/bin/kafka-topics.sh --zookeeper 172.16.2.10:,172.16.2.11:,172.16.2.12: --list

注:另外通过kafka-manager界面工具边升级边观察消费者和生产者相关数据信息,

因生产环境Kafka集群中个别kafka经常是挂掉,经过分析后是kafka版本BUG,故目前已在生产环境升级完成,仅供参考。

最新文章

  1. __run_timers() -- 处理全部超时定时器
  2. WebForms 开发基础
  3. Linux下的mongodb分片部署
  4. MongoDB管理与开发精要 书摘
  5. 什么是SQLCLR与使用
  6. 4. 2D绘制与控件绘制
  7. 图片旋转+剪裁js插件(兼容各浏览器) « 张鑫旭-鑫空间-鑫生活
  8. u-boot核心初始化
  9. 百度URL 部分参数
  10. 图片转base64上传,视频同理。
  11. html5-css综合练习
  12. SAP ABAP: Error Message "Statement already exist" when creating a function module.
  13. 学习-HTML5
  14. 深度学习RNN实现股票预测实战(附数据、代码)
  15. input value="值栈的值"
  16. MongoDB的角色作用(2)
  17. MySQL高级-慢查询日志
  18. 【Foreign】K优解 [堆]
  19. 第三篇 css属性
  20. Netbeans使用UTF-8编码

热门文章

  1. Error connecting to the Service Control Manager: 拒绝访问 Mongodb问题-解决
  2. 英语学习app——Alpha发布1
  3. Java多线程,对锁机制的进一步分析
  4. 【自制操作系统06】终于开始用 C 语言了,第一行内核代码!
  5. Day8-Python3基础-Socket网络编程
  6. 尼姆博弈+SG函数
  7. STM8 关闭PWM输出后的电平输出问题解决
  8. 关于mysql8启动后又停止(windows10系统),忘记密码以及密码过期等坑解决办法总结!
  9. SVM(1)模式识别课堂笔记
  10. vue2.x中子组件修改父组件通过pops传递过来的值