kafka高可用集群搭建
#################################################################
物理環(huán)境(兩臺(tái)機(jī)子組成的真實(shí)集群):
Desktop一個(gè)zk節(jié)點(diǎn)
Laptop兩個(gè)zk節(jié)點(diǎn)
############################準(zhǔn)備工作##############################
確保hbase在zookeeper下面已經(jīng)配置好高可用
以[1]為主要參考:
###################################################################################
kafka和zookeeper端口對應(yīng)關(guān)系
| Zookeeper對應(yīng)文件 | Zookeeper配置語句 | Kafka對應(yīng)文件 | Kafka配置語句 |
| zoo_leader.cfg | clientPort=2181 | server.properties | zookeeper.connect=Desktop:2181,Laptop:2182,Laptop:2183 |
| zoo_follower2.cfg | clientPort=2182 | server.properties | |
| zoo_follower3.cfg | clientPort=2183 | server.properties |
?
broker.id和listeners需要每臺(tái)機(jī)子上都不一致
log.dirs=/home/appleyuchi/bigdata/kafka_2.12-2.5.0/logs(這個(gè)配置需要非常小心,該路徑下面畢竟很干凈,不存在和log無關(guān)的文件)
num.partitions=40
?
因?yàn)槭诸^電腦數(shù)量有限,只有臺(tái)式機(jī)和筆記本兩臺(tái),但是kafka需要至少3個(gè)節(jié)點(diǎn),所以讓筆記本配置兩個(gè)kafka節(jié)點(diǎn).
| 物理節(jié)點(diǎn) | server.properties中的節(jié)點(diǎn) | 備注 |
| Desktop | listeners=PLAINTEXT://Desktop:9091 | sed命令替換所有config文件夾中的9092為9091 |
| Laptop | listeners=PLAINTEXT://Laptop:9092 | ? |
| Laptop | listeners=PLAINTEXT://Laptop:9093 | sed命令替換所有config文件夾中的9092為9093 |
?
###############################啟動(dòng)kafka集群###############################################
kafka集群強(qiáng)制要求至少3個(gè)節(jié)點(diǎn),需要各個(gè)節(jié)點(diǎn)分別啟動(dòng)!!!
?
啟動(dòng)命令為:
$KAFKA/bin/kafka-server-start.sh $KAFKA/config/server.properties
##############################################################################
驗(yàn)證搭建的效果可以使用[4]
##################################Kafka高可用集群原理[2]####################################
? ? ?kafka 是topic為主的,kafka必須集群,核心就是集群,才能體現(xiàn)分區(qū)的優(yōu)勢!
? ? ?集群環(huán)境下 生產(chǎn)者投遞消息 到哪個(gè)Broker??
? ? 下圖三個(gè)Broke? topic進(jìn)行分區(qū)存放,在創(chuàng)建topic時(shí)候,輪訓(xùn)去指定分區(qū)。BrokerId區(qū)分之
? ? ? 0,1,2,34,5,6為offset 每個(gè)分區(qū)中的offset是獨(dú)立的,互不影響的
? ? ? 三個(gè)broker,有三個(gè)消費(fèi)者是比較合理的~
? ? ?Zookeeper 節(jié)點(diǎn)專門存放topic 信息。? ?kafka 的broker的信息存放在zk節(jié)點(diǎn)
?
?
?
Reference:
[0]hbase的HA模式配置和維護(hù)
[1]Kafka集群部署
[2]Kafka高可用環(huán)境搭建
[4]python讀寫kafka集群(轉(zhuǎn)載+自己驗(yàn)證)
總結(jié)
以上是生活随笔為你收集整理的kafka高可用集群搭建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kafka报错与调试技巧
- 下一篇: This will have no im