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.13-2.5.0
num.partitions=40
###############################启动kafka集群###############################################
kafka集群强制要求至少3个节点,需要各个节点分别启动!!!
启动命令为:
$KAFKA/bin/kafka-server-start.sh $KAFKA/config/server.properties
##################################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:
[1]Kafka集群部署
[2]Kafka高可用环境搭建