




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、CONTENTSkafka集群簡單介紹kafka集群有4個kakfa集群cdn集群:40臺user-action集群:30臺性能測試集群:10臺cdn老集群:60臺 (即將淘汰)kafka服務(wù)的不穩(wěn)定因素v 磁盤損壞會造成kafka服務(wù)異常退出。v 服務(wù)器故障kafka服務(wù)退出;兩臺以上故障:kafka數(shù)據(jù)丟失等問題。v zookeeper服務(wù)之前所有的kafka和共用一套zookeeper服務(wù),現(xiàn)已經(jīng)分拆。kafka服務(wù)器進程監(jiān)控目前的監(jiān)控方式:使用crontab定時掃描監(jiān)測kafka服務(wù)進程,如kafka服務(wù)不存在,自動拉起,并短信報警給相關(guān)人員。缺點:時效性不高。其他方式:daemont
2、ools監(jiān)控。KAFKA磁盤故障自動恢復(fù)由于kafka服務(wù)器磁盤開銷很大,隨著集群規(guī)模的增大,出現(xiàn)磁盤故障的可能性大大提高,為了減少維護的成本,我們開發(fā)了磁盤故障的自動處理程序。v通過mysql來管理損壞磁盤;v自動剔除故障磁盤。v自動恢復(fù)磁盤v服務(wù)器運行日志目錄重新選舉。v磁盤故障報警通知。kafka備份池kafka備份池:安裝了3臺kafka服務(wù),平時不啟動,線上kafka服務(wù)器故障時,從備份池中取出一臺備份服務(wù)器接替,同時通知IT及時維修故障的服務(wù)器。由于目前的kafka的topic副本數(shù)為2;當(dāng)kafka服務(wù)器故障超過兩臺時,就會造成數(shù)據(jù)丟失;當(dāng)kafka服務(wù)器故障時,可根據(jù)需要啟動備
3、份服務(wù)器。kafka備份機策略可行性測試檢驗備份機策略是否可行,同時為了檢驗服務(wù)器故障對服務(wù)的影響,檢驗kafka備份機切換對集群和服務(wù)的影響,做了如下測試。測試方案: step1:部署3臺測試集群的kafka集群備份機。 step2: 創(chuàng)建一個測試的topic,只有一個分區(qū),備份數(shù)為2 的test_bak_kafka step3: 編寫一個發(fā)送消息的生產(chǎn)者程序,不停的發(fā)送消息, 啟動一個消費者,實時消費消息。 step4:關(guān)閉一個正在寫入消息的broker的主節(jié)點 stop5:啟動被關(guān)閉的節(jié)點。 step6: 關(guān)閉主節(jié)點,啟動 備份節(jié)點 kafka的zk元數(shù)據(jù)信息介紹關(guān)閉topic分區(qū)的le
4、ader節(jié)點如果故障退出的為follower節(jié)點,則生產(chǎn)者和消費者都不會受到影響。啟動備份節(jié)點topic的zk的狀態(tài)變化在kafka節(jié)點異常,備份節(jié)點恢復(fù)過程中,topic的zk狀態(tài)變化如下:關(guān)閉主節(jié)點:kafka的leader發(fā)生切換啟動備份節(jié)點:正常狀態(tài):一臺broker故障后:備份broker恢復(fù)后:kafka的Leader Electionkafka的partition的leader算法沒有使用常用的“Majority Vote”;而是采用在ZK中動態(tài)維護了一個ISR,這個ISR里的所有Replica都需要跟上了leader,只有ISR里的成員才有被選為Leader的可能。優(yōu)點:優(yōu)點:
5、vN+1個Replica,容忍N個replica失敗v容忍N個Replica的失敗,比“Majority Vote”少近一半的replica缺點:缺點:需要等待最慢的Broker,但是可以通過Producer選擇是否被commit阻塞來改善(request.required.acks)。kafka的Leader Election實現(xiàn):kafka通過Controller節(jié)點來選舉各個partition的leader。kafka的Leader Election1.controller在ZK的/brokers/ids節(jié)點上注冊Watch2.broker宕機,ZK會fire Controller注冊的
6、Watch會觸發(fā)controller。3.Controller重新設(shè)置partition信息(set_p)。4.從/brokers/topics/topic/partitions/partition/state讀取該Partition當(dāng)前的ISR。5.決定該Partition的新Leader如果ISR 列表中有Replica有幸存,選擇其中一個為新Leader,新ISR為當(dāng)前ISR;如果ISR列表中的Replica都當(dāng)宕掉,選擇任意一個幸存的Replica為新Leader,以及ISR(會有數(shù)據(jù)丟失的可能);如果該Partition的所有Replica都宕機了,則將新的Leader設(shè)置為-1;6
7、. Controlle直接通過RPC向相關(guān)Broker發(fā)送LeaderAndISRRequest命令。如何處理所有Replica都不工作如果某個Partition的所有Replica都宕機了,就無法保證數(shù)據(jù)不丟失了。這種情況下有兩種可行的方案:1.等待ISR中的任一個Replica“活”過來,并且選它作為Leader 2.選擇第一個“活”過來的Replica(不一定是ISR中的)作為Leader??捎眯院鸵恢滦援?dāng)中一個簡單的折衷,kafka使用的第二種方法。kafka的Data Replication消息生產(chǎn)者的消息發(fā)送機制:同步發(fā)送同步發(fā)送: Producer會在嘗試重新發(fā)送message.
8、send.max.retries 次后拋出Exception異步發(fā)送:異步發(fā)送: Producer會嘗試重新發(fā)送message.send.max.retries 次后記錄該異常并繼續(xù)發(fā)送后續(xù)數(shù)據(jù)。目的:kafka為預(yù)防一旦某一個Broker宕機,則其上所有的Partition數(shù)據(jù)都不可被消費;同時提高了整個系統(tǒng)的可用性。vReplica均勻分布到整個集群 Kafka分配Replica的算法如下:設(shè)有n個broker,i個partion,j個Replica,將broker和parttion排序后。 將第i個Partition分配到第(i mod n)個Broker上 將第i個Partition的
9、第j個Replica分配到第((i + j) mod n)個Broker上kafka的數(shù)據(jù)同步機制kafka的各個分區(qū)備份之間的同步機制:1.生產(chǎn)者發(fā)送消息到leader,leader log數(shù)據(jù)2. flowller從leader拉取消息。3.flower接收到消息,放到內(nèi)存ack leader。4.leader ack producer。Kafka之Replication toolsu最優(yōu)副本選舉工具bin/kafka-preferred-replica-election.s -zookeeper localhost:12913/kafka -path-to-json-file topic
10、PartitionList.jsonuTopic 和Partion轉(zhuǎn)移工具#轉(zhuǎn)移topic到新的brokerkafka-reassign-partitions.sh -topics-to-move-json-file topics-to-move.json -broker-list 5,6,7 -execute #轉(zhuǎn)移partition的一些replica到指定的brokerkafka-reassign-partitions.sh -manual-assignment-json-file partitions-to-move.json -execute kafka磁盤上限測試kafka磁盤容量測試,當(dāng)一個topic的一個分區(qū)所在的磁盤用盡,是否會異常?測試環(huán)境:測試環(huán)境:1.開啟一個寫kafka的生生產(chǎn)者,向kafka寫消息,每條消息10kb。2.Topic為1個partitions,2個Replica;Replica對應(yīng)的磁盤大小為5.5結(jié)果:結(jié)果:10.5個小時后,磁盤寫滿。個小
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年創(chuàng)業(yè)管理師資格考試試題及答案
- 2025年城市公共服務(wù)管理人才招聘考試試題及答案
- 2025年創(chuàng)新創(chuàng)業(yè)與商業(yè)計劃書撰寫考試題及答案
- 新生兒腎積水的護理常規(guī)
- 研學(xué)旅行實踐經(jīng)歷證明書(6篇)
- 湖北省武漢東西湖區(qū)七校聯(lián)考2025年英語七年級第二學(xué)期期末復(fù)習(xí)檢測試題含答案
- 2025年青??瓦\資格證考試題答案大全及答案
- 江蘇省南京高淳區(qū)四校聯(lián)考2025屆英語八下期末監(jiān)測模擬試題含答案
- 班級小明星的人物描寫作文(5篇)
- 綜合收入及獎金津貼證明函(6篇)
- 黨群工作筆試題目及答案
- 廣東省廣州市天河區(qū)2023-2024學(xué)年八年級下學(xué)期期末歷史試卷(含答案)
- 2025-2030年中國有機肥料行業(yè)市場投資分析及未來發(fā)展趨勢預(yù)測研究報告
- AI技術(shù)賦能中小學(xué)教學(xué)模式創(chuàng)新與實踐研究
- 山西焦煤集團招聘筆試題庫2025
- 2025汾西礦業(yè)井下操作技能人員招聘300人(山西)筆試參考題庫附帶答案詳解析
- 健康吃肉課件
- 《國家糧食和物資儲備局垂直管理系統(tǒng)重大生產(chǎn)安全事故隱患判定標(biāo)準(zhǔn)(試行)》解讀與培訓(xùn)
- 2025至2030年中國速凍豆角行業(yè)投資前景及策略咨詢報告
- (2025)交管12123駕駛證學(xué)法減分題庫含答案大全
- 學(xué)校食堂合同范本模板
評論
0/150
提交評論