前段时间公司的一个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()

kafka创耳机_生产环境一键创建kafka集群相关推荐

  1. 【ElasticSearch系列连载】3. 如何安装符合生产环境要求的ES集群

    [ElasticSearch系列连载]3. 如何安装符合生产环境要求的ES集群 通过本文,将会循序渐进地了解到ES的若干部署方案,以及相关的基础操作与配置. 上一节介绍的一键安装方式,可以快速启动一个 ...

  2. 搭建 K8S 环境:Centos7安装生产环境可用的K8S集群图文教程指南

    搭建 K8S 环境:Centos7安装生产环境可用的K8S集群图文教程指南 一. K8S 简介 二. K8S 学习的几大拦路虎 2.1 K8S 安装对硬件要求比较高 2.2. K8S 对使用者来说要求 ...

  3. k8s 离线安装_使用 Kind 在离线环境创建 K8S 集群

    背景 Kind 是 Kubernetes In Docker 的缩写,顾名思义是使用 Docker 容器作为 Node 并将 Kubernetes 部署至其中的一个工具.现在包括 Kubernetes ...

  4. 使用 Nocalhost 与 KubeVela 端云联调,一键完成多集群混合云环境部署

    作者:雾雾.玉易才(KubeVela.Nocalhost 团队) 在云原生快速发展的当下,如何让云的技术赋能业务开发?在上线应用时,如何让云的开发者在现代化的多集群.混合云环境中便捷地进行应用的开发和 ...

  5. 集群基础之04(部署ceph实验环境、部署ceph集群、创建Ceph块存储、块存储应用、挂载Ceph文件系统、创建对象存储服务器)

    目录 前言: Ceph简介 Ceph特点 Ceph架构 Ceph核心组件及概念介绍 1.部署ceph实验环境: 2 .部署ceph集群 3.创建Ceph块存储 4.块存储应用 5.挂载Ceph文件系统 ...

  6. Kubernetes教程(一)---使用 kubeadm 创建 k8s 集群(containerd)

    来自:指月 https://www.lixueduan.com 原文:https://www.lixueduan.com/posts/kubernetes/01-install/ 本文记录了使用 ku ...

  7. 一键启动Zookeeper集群

    本文根据[1]来改编成适合于自己的,最终代码如下: $ZOOKEEPER/bin/zkEnv.sh下面加一句 JAVA_HOME="/home/appleyuchi/Java/jdk1.8. ...

  8. 利用Packer自定义镜像创建容器集群

    阿里云容器服务Kubernetes集群支持CentOS操作系统,在绝大多数情况下可以满足客户的要求.但是有些客户由于业务系统对操作系统依赖比较高,希望定制化一些操作系统参数,则可以用自定义镜像来创建K ...

  9. aws上创建eks集群

    在aws上创建eks集群前,需要先创建vpc和subnet以及role,因为在创建集群时会用到. 1.创建VPC 对于创建vpc,进入create vpc界面创建即可,这里用的都是默认值. 2.创建s ...

  10. 创建一个集群和探索ProxmoxGUI

    创建一个集群和探索ProxmoxGUI ProxmoxVE可以被用于独立地不被部分的一个集群.但为了要真正使用Proxmox在其充分的潜力,一个集群使许多更先进的功能,如为集中管理,高可用性,以及实时 ...

最新文章

  1. Java NIO.2 Files类的常用方法
  2. 意料之外,也是情理之中 - 我的自由职业之旅
  3. 后台开发人员面试内容——Redis非关系数据库(三)
  4. php扩展 创建类 给外部调用
  5. 用法 the_英语冠词:不定冠词a,an和定冠词the的用法
  6. 学python要多久-目前Python学习需要多长时间?老男孩Python入门培训
  7. GO语言的进阶之路-流程控制
  8. linux symbol字体下载,解决:WPS for Linux提示“系统缺失字体symbol、wingdings、wingdings 2、wingdings 3、webding”...
  9. 2022抖音日活用户超8亿,旅游商家如何从抖音获客?
  10. android电视手柄游戏,为游戏而生 Android TV的秘密武器露真容
  11. 未使用计算机的信息处理工具,最好的电脑使用痕迹清理软件
  12. 2020年android系统版本多少,2020年的Android系统会是什么样?
  13. 一辆智能小车,最初(时间为0)的位置为(0,0),我们想知道它最后的位置。小车以每小时10公里的速度向北移动(以北为y轴正向,以东为x轴正向)。小车会受到一系列依照时间戳记排序的命令,1表示“向左转”
  14. iphone7刷入linux,iPhone7怎么进入DFU模式 iPhone7刷机步骤【详解】
  15. 搞机器学习需要哪些技能
  16. VBA:新增某个月的FC至Excel版物料Forecast
  17. linux系统下的的nohup命令
  18. Codeforces 711B- Chris and Magic Square
  19. Codeforces - Good Bye 2020
  20. 接口文档示例(详解)

热门文章

  1. CocoaPods安装和使用图解
  2. ABP 集成 nswag 根据 Swagger API 自动生成操作类代码
  3. 使用ServletContextListener关闭Redisson连接
  4. java基础 题和知识点总结, 关于String s是否默认初始化为null......,new一个对象和类静态域,是不是在内存中不是一个地方...
  5. dup和dup2(摘 )
  6. jpeg图片转换成word
  7. (原创)日志处理(修改)
  8. 拓端tecdat|R语言用WinBUGS 软件对学术能力测验(SAT)建立层次(分层)贝叶斯模型
  9. 拓端tecdat|如何用r语言制作交互可视化报告图表
  10. 拓端tecdat|R语言使用混合模型进行聚类