kafka動態修改__consumer_offsets的副本數量(無需重啟服務)
在新版本Kafka中,__consumer_offsets這個topic是存放消費者偏移量的,但是該主題預設配置副本數量只有1,容易造成單點故障,我們可以動態修改(無需重啟服務)副本因子,提高kafka的可靠性
修改流程
---------------------------------------------------------------------------------------------------------------------------
1、編寫執行計劃的json檔案
1.1 動態地增加相關主題的副本數非常的簡單,同樣是使用kafka-reassign-partitions.sh
{ "version": 1, "partitions": [ { "topic": "__consumer_offsets", "partition": 0, "replicas": [ 1, 6, 4 ] }, { "topic": "__consumer_offsets", "partition": 1, "replicas": [ 2, 7, 5 ] }, { "topic": "__consumer_offsets", "partition": 2, "replicas": [ 0, 6, 5 ] }, { "topic": "__consumer_offsets", "partition": 3, "replicas": [ 1, 7, 4 ] }, { "topic": "__consumer_offsets", "partition": 4, "replicas": [ 2, 6, 5 ] }, { "topic": "__consumer_offsets", "partition": 5, "replicas": [ 0, 4, 5 ] }, { "topic": "__consumer_offsets", "partition": 6, "replicas": [ 1, 7, 4 ] }, { "topic": "__consumer_offsets", "partition": 7, "replicas": [ 2, 6, 5 ] }, { "topic": "__consumer_offsets", "partition": 8, "replicas": [ 0, 4, 5 ] }, { "topic": "__consumer_offsets", "partition": 9, "replicas": [ 1, 7, 4 ] }, { "topic": "__consumer_offsets", "partition": 10, "replicas": [ 2, 6, 5 ] }, { "topic": "__consumer_offsets", "partition": 11, "replicas": [ 0, 7, 5 ] }, { "topic": "__consumer_offsets", "partition": 12, "replicas": [ 1, 6, 4 ] }, { "topic": "__consumer_offsets", "partition": 13, "replicas": [ 2, 7, 5 ] }, { "topic": "__consumer_offsets", "partition": 14, "replicas": [ 0, 6, 5 ] }, { "topic": "__consumer_offsets", "partition": 15, "replicas": [ 1, 7, 4 ] }, { "topic": "__consumer_offsets", "partition": 16, "replicas": [ 2, 6, 5 ] }, { "topic": "__consumer_offsets", "partition": 17, "replicas": [ 0, 4, 5 ] }, { "topic": "__consumer_offsets", "partition": 18, "replicas": [ 1, 7, 4 ] }, { "topic": "__consumer_offsets", "partition": 19, "replicas": [ 2, 6, 5 ] }, { "topic": "__consumer_offsets", "partition": 20, "replicas": [ 0, 4, 5 ] }, { "topic": "__consumer_offsets", "partition": 21, "replicas": [ 1, 7, 4 ] }, { "topic": "__consumer_offsets", "partition": 22, "replicas": [ 2, 6, 5 ] }, { "topic": "__consumer_offsets", "partition": 23, "replicas": [ 0, 4, 5 ] }, { "topic": "__consumer_offsets", "partition": 24, "replicas": [ 1, 7, 4 ] }, { "topic": "__consumer_offsets", "partition": 25, "replicas": [ 2, 6, 5 ] }, { "topic": "__consumer_offsets", "partition": 26, "replicas": [ 0, 4, 5 ] }, { "topic": "__consumer_offsets", "partition": 27, "replicas": [ 1, 7, 4 ] }, { "topic": "__consumer_offsets", "partition": 28, "replicas": [ 2, 6, 5 ] }, { "topic": "__consumer_offsets", "partition": 29, "replicas": [ 0, 4, 5 ] }, { "topic": "__consumer_offsets", "partition": 30, "replicas": [ 1, 2, 7 ] }, { "topic": "__consumer_offsets", "partition": 31, "replicas": [ 2, 6, 5 ] }, { "topic": "__consumer_offsets", "partition": 32, "replicas": [ 0, 4, 5 ] }, { "topic": "__consumer_offsets", "partition": 33, "replicas": [ 1, 7, 4 ] }, { "topic": "__consumer_offsets", "partition": 34, "replicas": [ 2, 6, 5 ] }, { "topic": "__consumer_offsets", "partition": 35, "replicas": [ 0, 4, 5 ] }, { "topic": "__consumer_offsets", "partition": 36, "replicas": [ 1, 7, 4 ] }, { "topic": "__consumer_offsets", "partition": 37, "replicas": [ 2, 6, 5 ] }, { "topic": "__consumer_offsets", "partition": 38, "replicas": [ 0, 4, 5 ] }, { "topic": "__consumer_offsets", "partition": 39, "replicas": [ 1, 7, 4 ] }, { "topic": "__consumer_offsets", "partition": 40, "replicas": [ 2, 6, 5 ] }, { "topic": "__consumer_offsets", "partition": 41, "replicas": [ 0, 4, 5 ] }, { "topic": "__consumer_offsets", "partition": 42, "replicas": [ 1, 7, 4 ] }, { "topic": "__consumer_offsets", "partition": 43, "replicas": [ 2, 6, 5 ] }, { "topic": "__consumer_offsets", "partition": 44, "replicas": [ 0, 4, 5 ] }, { "topic": "__consumer_offsets", "partition": 45, "replicas": [ 1, 7, 4 ] }, { "topic": "__consumer_offsets", "partition": 46, "replicas": [ 2, 6, 5 ] }, { "topic": "__consumer_offsets", "partition": 47, "replicas": [ 0, 4, 5 ] }, { "topic": "__consumer_offsets", "partition": 48, "replicas": [ 1, 7, 4 ] }, { "topic": "__consumer_offsets", "partition": 49, "replicas": [ 2, 6, 5 ] } ] }
1.2 將json檔案儲存至linux中,並取名為replication.json(任意名稱)
vim replication.json
1.3 執行Json檔案
[[email protected]_65_10_centos bin]# ./kafka-reassign-partitions.sh --zookeeper 10.69.65.2:2181 --reassignment-json-file ../explain/replcas.json --execute
1.4 驗證執行計劃結果
[[email protected]_65_10_centos bin]# ./kafka-reassign-partitions.sh --zookeeper 10.69.65.2:2181 --reassignment-json-file ../explain/replcas.json --verify
1.5 檢視新的副本數量
[[email protected]_65_10_centos bin]# ./kafka-topics.sh --zookeeper 10.69.65.2:2181 --topic __consumer_offsets --describe
相關推薦
kafka動態修改__consumer_offsets的副本數量(無需重啟服務)
在新版本Kafka中,__consumer_offsets這個topic是存放消費者偏移量的,但是該主題預設配置副本數量只有1,容易造成單點故障,我們可以動態修改(無需重啟服務)副本因子,提高kafka的可靠性 修改流程 ---------------
PHP study2014 配置多個站點(主要是修改 vhosts.conf檔案,然後重啟。)
主要是修改 vhosts.conf檔案和httpd.conf檔案,然後重啟。 httpd.conf檔案:【注意補充埠】 #Listen 12.34.56.78:80 Listen 8089 Listen 9001 Listen 9002 Listen 9003 Liste
redhat定時執行任務(自動重啟Tomcat)
期望目標:定時器一分鐘執行一次,進行tomcat程序的檢測,如果檢測到tomcat關閉,則自動重啟tomcat 步驟一:編寫shell指令碼 #!/bin/sh # 獲取tomcat程序ID /usr/local/tomcat_ds_api TomcatID=$(ps
Kafka動態調整topic副本因子replication-factor
實際專案中我們可能在建立topic時沒有設定好正確的replication-factor,導致kafka叢集雖然是高可用的,但是該topic在有broker宕機時,可能發生無法使用的情況。topic一旦使用又不能輕易刪除重建,因此動態增加副本因子就成為最終的選擇。 原因分析: 假
Windows下快速安裝Xgboost(無需Git或者VS)
nor port 最終 比賽 http 無需 windows git 到你 xgboost的全稱是eXtreme Gradient Boosting,現在已經風靡Kaggle、天池、DataCastle、Kesci等國內外數據競賽平臺,是比賽奪冠的必備大殺器!如果
控制程序的啟動數量(限制遊戲多開)
strong err mod ucc pan 會有 sys ready 命令行 引言: 在PC端使用軟件的過程中。有時開發人員會有類似限制程序啟動數量的需求,如限制某程序在單一PC端的啟動數量。或是為了統計PC端啟動的程序數量等,顯然須要一種“計數器
表的重新再同步(無需時間窗口)
gate 腳本 啟動 並且 文件 cti 初始 back 通過 表的重新再同步(無需時間窗口) 如果是某些表由於各種原因造成兩邊數據不一致,需要重新進行同步,但實際業務始終24小時可用,不能提供時間窗口, 則可以參照以下步驟。(因較為復雜,使用需謹慎!) 1)確認e
Jetty插件實現熱部署(開發時修改文件自動重啟Jetty)
max www. nbsp 很遺憾 pom als ati mave 重啟 在pom.xml文件中配置Jetty插件的參數:scanIntervalSeconds <plugin> <grou
mongodb count 導致不正確的數量(mongodb count 一個坑)
ride getc 官網 foreach arrays 圖片 client tab tor https://www.cnblogs.com/Kellana/p/5844919.html 在mongodb 集群中,if 存在orphaned documents
[Python] 動態函數調用(通過函數名)
context compile function icm 字符串函數 real state for 輸出結果 2018-04-09 update 利用python中的內置函數 eval() ,函數說明: def eval(*args, **kwargs): # re
spring boot在Eclipse中,修改代碼後無需重啟就生效的配置
maven java eclipse <build> <finalName>my-spring-boot</finalName> <!-- 指定package生成的文件名為my-spring-boot.jar --> <
一對一、模擬本地的數據庫動態綁定數據(微信小程序)
教材 script 本地 highlight 數據 lis 模擬 post UNC 核心:使用wx:for="{{posts_key}}",用數組的形式來綁定多個的內容,利用for循環來反復調用後臺數據,如果沒用用posts_key了,那麽對應的item_這種命名就是不可以
【原始碼追蹤】SparkStreaming 中用 Direct 方式每次從 Kafka 拉取多少條資料(offset取值範圍)
我們知道 SparkStreaming 用 Direct 的方式拉取 Kafka 資料時,是根據 kafka 中的 fromOffsets 和 untilOffsets 來進行獲取資料的,而 fromOffsets 一般都是需要我們自己管理的,而每批次的 untilOffsets 是由
LaTex中文編譯(無需特殊編輯器)
LaTex中文編譯(無需特殊編輯器) 本文記錄了用Latex編寫中文文件的方法,非常簡單。更新於2018.10.18。 \documentclass[UTF8]{article} \usepackage{CTEX} \begin{document} ... \end{docume
C#實現.Net對郵件進行DKIM簽名和驗證,支援附件,傳送郵件簽名後直接投遞到對方伺服器(無需己方郵件伺服器)
專案地址 github.com/xiangyuecn/… 主要支援 對郵件進行DKIM簽名,支援帶附件 對整個郵件內容(.eml檔案)的DKIM簽名進行驗證 對MailMessage、SmtpClient進行了一次封裝,傳送郵件簡單易用,進行DKIM簽名後直接投遞到對方伺服器(無需己方郵件
【springboot】spring boot修改程式碼後無需重啟設定,在開發時實現熱部署
熱部署是什麼 大家都知道在專案開發過程中,常常會改動頁面資料或者修改資料結構,為了顯示改動效果,往往需要重啟應用檢視改變效果,其實就是重新編譯生成了新的Class檔案,這個檔案裡記錄著和程式碼等對應的各種資訊,然後Class檔案將被虛擬機器的ClassLoader載入。 而熱部署正是利用了這
eclipse mavenWeb專案真正實現熱部署(修改java程式碼和頁面檔案不用重啟tomcat)
1.前言 先說熱部署的含義: 熱部署原來被定義為:tomcat啟動後,如果你往webapps目錄下,新增新的專案,tomcat會實現自動將其釋出的功能,這時,就叫做熱部署。 網上所實現的熱部署
如何利用github搭建個人網站(無需購買雲伺服器)
1.建立GithubPage 這裡的作用就是說在github上建立一個倉庫,並且將它設定成github的網頁模式,其實我們後面的域名只是跳轉到這個倉庫的頁面 首先新建一個倉庫 然後注意設定倉庫名字時要和你的githubID一模一樣,即xxx.github.io 然後建
IDEA springboot專案修改檔案後無需重啟(熱部署)
想在除錯springboot專案時,修改靜態資原始檔後不重啟可以通過下面兩步來達到目的 1、在pom中直接引入依賴 <dependency> <groupId>org.springframework</groupId> &nbs
Ubuntu 18.04 軟體源修改成國內源(檔案或介面形式)
輸入命令修改sources.list檔案: sudo gedit /etc/apt/sources.list 在檔案最前面新增以下條目(操作前請做好相應備份): #清華 deb https://mirrors.tuna.tsinghua.edu.cn/