搭建kafka集群笔记

下载最新版本的kafka

http://kafka.apache.org/downloads.html

解压:kafka_2.12-2.3.0.tgz

tar zxvf kafka_2.12-2.3.0.tgz

在config 下找到 server.properties vi 编辑

1、修改broker.id
注意:三个节点不能重复
2、listeners:该节点ip+端口
3、log.dirs
4、zookeeper.connect:zookeeper集群的节点,逗号隔开

在这里插入图片描述
在这里插入图片描述

分别启动zk集群和kafka集群

这里只写kafka

./bin/kafka-server-start.sh config/server.properties &

创建topic的时候 设置kafka集群节点个数的复制因子 这样在程序中调用写入的时候才会复制到各个节点。
不然默认是随机节点
replication-factor 副本数量

./bin/kafka-topics.sh --create --bootstrap-server xx:9092 --replication-factor 3 --partitions 3 --topic my-topic

查看创建的topic分布的partitions ,leader,isr 等

./bin/kafka-topics.sh --describe --bootstrap-server xxx:9092 --topic my-topic

在这里插入图片描述

查看该topic下的内容

./bin/kafka-console-consumer.sh --bootstrap-server xxx:9092  --topic my-topic --from-beginning

kafka中,replication策略是基于partition,而不是topic;kafka将每个partition数据复制到多个server上,任何一个partition有一个leader和多个follower(可以没有);备份的个数可以通过broker配置文件来设定。leader处理所有的read-write请求,follower需要和leader保持同步.Follower就像一个"consumer",消费消息并保存在本地日志中;leader负责跟踪所有的follower状态,如果follower"落后"太多或者失效,leader将会把它从replicas同步列表中删除.当所有的follower都将一条消息保存成功,此消息才被认为是"committed",那么此时consumer才能消费它,这种同步策略,就要求follower和leader之间必须具有良好的网络环境.即使只有一个replicas实例存活,仍然可以保证消息的正常发送和接收,只要zookeeper集群存活即可.
选择follower时需要兼顾一个问题,就是新leader server上所已经承载的partition leader的个数,如果一个server上有过多的partition leader,意味着此server将承受着更多的IO压力.在选举新leader,需要考虑到"负载均衡",partition leader较少的broker将会更有可能成为新的leader.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值