生产环境一键创建kafka集群
2018-06-22 22:14
120 查看
前段时间公司的一个kafka集群出现了故障,由于之前准备不足,当时处理的比较慌乱。如:由于kafka的集群里topic数量较多,并且每个topic的分区数量和副本数量都不是一样的,如果按部就班的一个一个的去创建队列,估计集群恢复时黄瓜菜都凉了。
对于kafka集群出现故障,最快的处理办法,就是重建集群,然后在新的集群上将队列相关信息全部按原集群重建一遍。本人利用端午假期,写了一个python脚本(这是第二次撸python,能用就好,各位要求不要太高哈),可以实现一键功能。
1.首先将此脚本(topic.py),放到kafka的bin目录下;
2.执行python topic.py命令
3.输入原集群的zookeeper地址,回车
4.输入新集群的zookeeper地址,回车
5.控制台输出topic创建相关的信息,检查新集群,可以发现旧集群中所有的topic全部按原样重新在新集群中创建了一遍
topic.py脚本如下:
import os from sys import stdin import re print 'input source kafka zookeeper address. eg:127.0.0.1:2181' value = stdin.readline().replace("\n", "") print 'input target kafka zookeeper address. eg:127.0.0.1:2181' target = stdin.readline().replace("\n","") value2 = './kafka-topics.sh --describe --zookeeper ' +value value2 = value2+' | grep ^Topic' output = os.popen(value2) text = output.readline() while (text ): strs = text.split() outtemp = os.popen('./kafka-topics.sh --create --topic '+strs[0].replace("Topic:","") +' --partitions '+strs[1].replace("PartitionCount:","") + ' --replication-factor ' +strs[2].replace("ReplicationFactor:","")+ ' --if-not-exists --zookeeper ' + target) print outtemp.readline() text = output.readline() outtemp.close() output.close()
相关文章推荐
- kafka0.8.2集群的环境搭建并实现基本的生产消费
- 生产环境实战spark (11)分布式集群 5台设备 Zookeeper集群、Kafka集群安装部署
- Docker Swarm搭建生产环境的集群
- kafka无法正常生产消费,但依旧可以创建生产者和消费者
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.1创建虚拟机
- Greenplum 数据库 集群安装部署(生产环境) 所需硬件
- 生产环境下部署hadoop集群(包括dns配置,nfs共享,awk资源分发)
- swarm 生产环境集群安装
- 搭建Kafka集群环境
- 生产环境实战spark (6)分布式集群 5台设备 Scala安装
- 如何在已有CM集群环境中添加kafka组件
- Linux docker环境kafka集群搭建
- flink集群一键安装脚本 -- kafka消息中间件依赖zookeeper集群安装脚本
- Neo4j 2.0 生产环境集群搭建
- 生产环境实战spark (9)分布式集群 5台设备 SPARK集群安装
- Jenkins实现测试环境到生产环境一键部署(Windows)
- Kafka集群环境搭架
- 6.环境搭建-kafka集群搭建
- DBA:在生产环境中创建监控表DML的触发器
- 5 构建Mysql+heartbeat+DRBD+LVS集群应用系统系列之生产环境下drbd裂脑处理