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报错与调试技巧
- 下一篇: This will have no im