kafka創耳機 生產環境一鍵建立kafka集群

2021-10-13 02:24:55 字數 1367 閱讀 3618

前段時間公司的乙個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()

創藍閃驗php手機號一鍵登入

注意 對外介面需要兩個必要引數,flash token type 安卓或ios flash token從 來 是安卓和ios端整合創藍閃驗sdk以後通過呼叫sdk相關介面獲得,引數名為token。例如 onekeyloginlistener error innercode 0 innerdata i...

salt一鍵部署kafka

1.準備工作 2.salt關於kafka的部署指令碼,就是上面的init.sls中的內容,至於下面的內容的每一項的意思在之前jdk的指令碼中有寫。kafka file file.managed source salt kafka kafka 2.11 0.9.0.0.tar.gz name opt ...

kafka一鍵啟動指令碼

1.首先修改每台機器的kafka bin目錄下的kafka server stop.sh 將裡面的kafka.kafka改為kafka 2.編寫啟動指令碼start kafka.sh 3.編寫關閉指令碼stop kafka.sh 注意指令碼裡面kafka的版本,我這裡的是2.2.04.給指令碼增加許...