Kafka--04---Kafka集群操作

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


Kafka集群操作

1.搭建kafka集群(三个broker)

  • 创建三个server.properties⽂件
# 0 1 2
broker.id=2
// 9092 9093 9094
listeners=PLAINTEXT://192.168.65.60:9094
//kafka-logs kafka-logs-1 kafka-logs-2
log.dir=/usr/local/data/kafka-logs-2
  • 通过命令来启动三台broker
./kafka-server-start.sh -daemon ../config/server.properties
./kafka-server-start.sh -daemon ../config/server1.properties
./kafka-server-start.sh -daemon ../config/server2.properties
  • 校验是否启动成功

进入到zk中查看/brokers/ids中过是否有三个znode(0,1,2)

2.副本的概念—replication

  • 副本是为了为主题中的分区创建多个备份,多个副本在kafka集群的多个broker中,会有⼀个
    副本作为leader,其他是follower。
./kafka-topics.sh --create --zookeeper 172.16.253.35:2181 --replicationfactor
3 --partitions 2 --topic my-replicated-topic
  • 查看topic情况:
# 查看topic情况
./kafka-topics.sh --describe --zookeeper 172.16.253.35:2181 --topic myreplicated-
topic

在这里插入图片描述
leader:

  • kafka的写和读的操作,都发⽣在leader上。leader负责把数据同步给follower。当leader挂
    了,经过主从选举,从多个follower中选举产⽣⼀个新的leader

follower

  • 接收leader的同步的数据

isr:

  • 可以同步和已同步的节点会被存⼊到isr集合中。这⾥有⼀个细节:如果isr中的节点性能 较差,会被提出isr集合。

集群中有多个broker,创建主题时可以指明主题有多个分区(把消息拆分到不同的分区中存
储),可以为分区创建多个副本,不同的副本存放在不同的broker⾥。

集群消费

1)向集群发送消息:

./kafka-console-consumer.sh --bootstrap-server
172.16.253.38:9092,172.16.253.38:9093,172.16.253.38:9094 --frombeginning
--consumer-property group.id=testGroup1 --topic my-replicatedtopic

2)从集群中消费消息

./kafka-console-producer.sh --broker-list
172.16.253.38:9092,172.16.253.38:9093,172.16.253.38:9094 --topic myreplicated-
topic

3)指定消费组来消费消息

./kafka-console-consumer.sh --bootstrap-server
172.16.253.38:9092,172.16.253.38:9093,172.16.253.38:9094 --frombeginning
--consumer-property group.id=testGroup1 --topic my-replicatedtopic

分区分消费组的集群消费中的细节

在这里插入图片描述

⼀个partition只能被⼀个消费组中的⼀个消费者消费,⽬的是为了保证消费的顺序性

  • ⼀个partition只能被⼀个消费组中的⼀个消费者消费,⽬的是为了保证消费的顺序性,但是多个partion的多个消费者消费的总的顺序性是得不到保证的,那怎么做到消费的总顺序性呢?
  • partition的数量决定了消费组中消费者的数量,建议同.个消费组中消费者的数量不要超过partition的数量,否则多的消费者消费不到消息
  • 如果消费者挂了,那么会触发rebalance机制(后⾯介绍),会让其他消费者来消费该分区
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值