亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

生產環境一鍵創建kafka集群

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

原文出处

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消