Kakfa集群(2.11-0.10.1.0)版本滚动升级方案
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,故目前已在生产环境升级完成,仅供参考。
Kakfa集群(2.11-0.10.1.0)版本滚动升级方案的更多相关文章
- cron 表达式0 0/10 * * * 与 0 */10 * * *的区别
0 0/10 * * * 与 0 */10 * * * 的差别在于什么地方.在说这两者的差别之前,先说下各个字符代表的含义.0代表从0分开始,*代表任意字符,/代表递增. 0 0/10 * * *代表 ...
- redis集群热扩展(基于4.0.9)
1:环境说明,首先说一下要做的事情,我们要迁移redis集群槽位,现有redis集群环境如下 我们看一下集群的基本信息: > cluster nodes 8ea64a0049e0b193296a ...
- centos8平台redis cluster集群添加/删除node节点(redis5.0.7)
一,当前redis cluster的node情况: 我们的添加删除等操作都是以这个cluster作为demo cluster采用六台redis,3主3从 redis1 : ip: 172.17.0.2 ...
- Botposter.com集群ETCD2.3.7升级至3.0实录[原创]
7月1日,为庆祝我党生日,ETCD隆重发布了3.0版本.Botposter.com也在第一时间对集群进行了升级.本文是升级过程的记录与总结(文中假设读者已经使用或测试过ETCD V2,如有不妥请见谅) ...
- Redis集群环境使用的是redis4.0.x的版本,在用java客户端jedisCluster启动集群做数据处理时报java.lang.NumberFormatException: For input string: "7003@17003"问题解决
java.lang.NumberFormatException: For input string: "7003@17003" at java.lang.NumberFormatE ...
- Hbase 集群安装(Hadoop 2.6.0 hbase0.99.2)
一:说明 该安装是在hadoop集群安装后进行,详情可见上一篇博客虚拟机centos7系统下安装hadoop ha和yarn ha(详细) .其中涉及五台机器,两台master(机器名:master, ...
- solr集群搭建(4.10.2)
配置环境为centos6.8 下载tomcat程序到服务器,并解压启动服务测试 [root@hadoop01 ~]# wget http://apache.claz.org/tomcat/tomcat ...
- Elasticsearch集群搭建笔记(elasticsearch-6.3.0)
# 检查Java版本 java -version # 安装Elasticsearch,所有节点均安装并解压 wget https://artifacts.elastic.co/downloads/el ...
- Spark集群任务提交流程----2.1.0源码解析
Spark的应用程序是通过spark-submit提交到Spark集群上运行的,那么spark-submit到底提交了什么,集群是怎样调度运行的,下面一一详解. 0. spark-submit提交任务 ...
随机推荐
- MNIST数据集
一.MNIST数据集分类简单版本 import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data # ...
- ubutun安装停留在界面
这几天都在折腾,都在出问题记录一下 ubuntu安装时停留在界面,怎么办解决方法:重新开机,光标选中“Install Ubuntu” ,按“e”,进入grub界面,将倒数第二行中的“quiet spl ...
- 吉哥系列故事——恨7不成妻(数位dp)
吉哥系列故事--恨7不成妻 传送门 Problem Description 单身! 依然单身! 吉哥依然单身! DS级码农吉哥依然单身! 所以,他生平最恨情人节,不管是214还是77,他都讨厌! 吉哥 ...
- SSM 配置文件 分析
spring 配置文件(主要整合的是spring 和 mybatis 的配置文件) 问题: 两者之间没有整合在一起的时候是怎么样的 spring配置文件: Spring配置文件是用于指导Spri ...
- C# 解析JSON遇到以错误提示:应为状态“Element”。。遇到名称为“”、命名空间为“”的“Text”。
话不多说:仔细看代码: ①json格式错误导致报错 {"TeachIQ":" 语言 0小时0分钟 未完成","Temperature" ...
- GO异常 | runnerw.exe: CreateProcess failed with error 21
背景 今天创建了一个GO项目,写了几行代码 package chapter1 import "fmt" func main() { fmt.Println("hello ...
- vue2.x中使用计算属性巧妙的实现多选框的“全选”
接下来我会以一个购物车的例子,来演示如果借助计算属性,精巧的实现多选框的全选功能.当然,有全选,自然对应的也还有取消全选. 以下这张gif图,就是最终的实现效果: 第一步,针对购物车每一个商品进行设置 ...
- 项目架构级别规约框架Archunit调研
背景 最近在做一个新项目的时候引入了一个架构方面的需求,就是需要检查项目的编码规范.模块分类规范.类依赖规范等,刚好接触到,正好做个调研. 很多时候,我们会制定项目的规范,例如: 硬性规定项目包结构中 ...
- MOTS:多目标跟踪和分割论文翻译
MOTS:多目标跟踪和分割论文翻译 摘要: 本文将目前流行的多目标跟踪技术扩展到多目标跟踪与分割技术(MOTS).为了实现这个目标,我们使用半自动化的标注为两个现有的跟踪数据集创建了密集的像素级标注. ...
- 死磕mysql(5)
高性能mysql --查看隐藏的库//use mysql --创建新用户//create user 'new'@'localhost' identified by ''; --创建用户 '用户名'@' ...