kafka高可用集群搭建
#################################################################
物理環境(兩臺機子組成的真實集群):
Desktop一個zk節點
Laptop兩個zk節點
############################準備工作##############################
確保hbase在zookeeper下面已經配置好高可用
以[1]為主要參考:
###################################################################################
kafka和zookeeper端口對應關系
| Zookeeper對應文件 | Zookeeper配置語句 | Kafka對應文件 | 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需要每臺機子上都不一致
log.dirs=/home/appleyuchi/bigdata/kafka_2.12-2.5.0/logs(這個配置需要非常小心,該路徑下面畢竟很干凈,不存在和log無關的文件)
num.partitions=40
?
因為手頭電腦數量有限,只有臺式機和筆記本兩臺,但是kafka需要至少3個節點,所以讓筆記本配置兩個kafka節點.
| 物理節點 | server.properties中的節點 | 備注 | 
| Desktop | listeners=PLAINTEXT://Desktop:9091 | sed命令替換所有config文件夾中的9092為9091 | 
| Laptop | listeners=PLAINTEXT://Laptop:9092 | ? | 
| Laptop | listeners=PLAINTEXT://Laptop:9093 | sed命令替換所有config文件夾中的9092為9093 | 
?
###############################啟動kafka集群###############################################
kafka集群強制要求至少3個節點,需要各個節點分別啟動!!!
?
啟動命令為:
$KAFKA/bin/kafka-server-start.sh $KAFKA/config/server.properties
##############################################################################
驗證搭建的效果可以使用[4]
##################################Kafka高可用集群原理[2]####################################
? ? ?kafka 是topic為主的,kafka必須集群,核心就是集群,才能體現分區的優勢!
? ? ?集群環境下 生產者投遞消息 到哪個Broker??
? ? 下圖三個Broke? topic進行分區存放,在創建topic時候,輪訓去指定分區。BrokerId區分之
? ? ? 0,1,2,34,5,6為offset 每個分區中的offset是獨立的,互不影響的
? ? ? 三個broker,有三個消費者是比較合理的~
? ? ?Zookeeper 節點專門存放topic 信息。? ?kafka 的broker的信息存放在zk節點
?
?
?
Reference:
[0]hbase的HA模式配置和維護
[1]Kafka集群部署
[2]Kafka高可用環境搭建
[4]python讀寫kafka集群(轉載+自己驗證)
總結
以上是生活随笔為你收集整理的kafka高可用集群搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: kafka报错与调试技巧
- 下一篇: 饿了么商家版怎么用
