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节点

 

kafka高可用集群搭建

 

 

Reference:

[0]hbase的HA模式配置和维护

[1]Kafka集群部署

[2]Kafka高可用环境搭建

[4]Python测试Kafka集群(kafka-python)