欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

kafka高可用集群搭建

发布时间:2023/12/31 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 kafka高可用集群搭建 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

#################################################################

物理环境(两台机子组成的真实集群):

Desktop一个zk节点

Laptop两个zk节点

############################准备工作##############################

确保hbase在zookeeper下面已经配置好高可用

以[1]为主要参考:

###################################################################################

kafka和zookeeper端口对应关系

Zookeeper对应文件Zookeeper配置语句Kafka对应文件Kafka配置语句
zoo_leader.cfgclientPort=2181server.propertieszookeeper.connect=Desktop:2181,Laptop:2182,Laptop:2183
zoo_follower2.cfgclientPort=2182server.properties
zoo_follower3.cfgclientPort=2183server.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中的节点备注
Desktoplisteners=PLAINTEXT://Desktop:9091sed命令替换所有config文件夹中的9092为9091
Laptoplisteners=PLAINTEXT://Laptop:9092 
Laptoplisteners=PLAINTEXT://Laptop:9093sed命令替换所有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高可用集群搭建的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。