kafka架构

一、架构图如下:

(1)相关概念

  1、Producer:消息生产者,向kafka broker发送消息的客户端

  2、Consumer:消息消费者,是消费者群组的一部分即可能会有一个或者多个消费者共同读取一个主题。

  3、ConsumerGroup:消费者组,由多个 consumer 组成。消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个组内消费者消费;消费者组之间互不影响。所  有的消费者都属于某个消费者组,即消费者组是逻辑上的一个订阅者。

  4、Broker:一个独立的kafka服务器被称为broker,broker接受生产者的消息,为消息设置偏移量,并提交消息到磁盘中保存(时间默认为7天);同时broker为消费者提供服务,返回已经提交到磁盘上的消息给消费者。

  5、Topic:kafka的消息通过主题分类,主题好比类似于数据库的表,可以被分为若干个分区。生产者和消费者面向的都是一个 topic; 

  6、partitions:一个主题可以分为若干个分区,而这些分区又可以分散在不同的broker上,无法在整个主题范围内保证消息的顺序,但是可以保证在单个分区内的顺序;消息已追加的方式写分区,按照先进先出的顺序读取。生产者默认情况下可以将消息均衡的分散到所有分区中,也可以通过消息建和分区器将消息分散到指定的分区中。

  7、leader:每个分区都会有若干个副本,消费者读取的那个分区的副本被称为leader

  8、follower:消费者不读取的分区副本;follower实时地从 leader 中同步数据,保持和 leader 数据的同步。leader 发生故障时,某个 follower 会成为新的 leader

  10、偏移量:偏移量是另外一种元数据,是一个不断递增的整数值,在创建消息时,kafka会把它添加到消息里;消费者通过检查消息的偏移量来区分已经读取过的消息。在每个分区里,每个消息的偏移量都是唯一的。消费者把每个分区最后读取到的消息偏移量保存在zookeeper或者kafka上,如果消费者关闭或者重启,它的读取状态不会丢失。 

  9、zookeeper:使用zookeeper来保存broker,主题和分区的元数据信息,在kafka-0.9之前的版本消息的偏移量是存放在zookeeper中,kafka-0,9及以后既可以存储在zookeeper又可以存储在kafka中。

二、kafka集群规划

(1)修改server.properties 配置文件

  1、broker.id=0,broker的全局唯一编号,在kafka集群中不能重复。

  2、delete.topic.enable=true,配置是否删除topic功能。

  3、log.dirs=/opt/module/kafka/logs,kafka的运行日志存放路径。

  4、num.partitions=1,topic在当前broker上的分区个数。

  5、zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181,配置连接zookeeper集群。

(2)启动和关闭集群:

  1、启动集群,在各个broker节点上输入命令bin/kafka-server-start.sh -daemon config/server.properties,

   2、关闭集群,在各个broker节点上输入命令 bin/kafka-server-stop.sh stop 

(3)kafka中topic的相关命令:

  1、查看当前服务器中的所有 topic :bin/kafka-topics.sh --zookeeper hadoop102:2181 --list

  2、创建 topic :bin/kafka-topics.sh --zookeeper hadoop102:2181 --create --replication-factor 3 --partitions 1 -topic first

  3、删除 topic :bin/kafka-topics.sh --zookeeper hadoop102:2181 --delete --topic first 

  4、查看某个 Topic 的详情 :bin/kafka-topics.sh --zookeeper hadoop102:2181 --describe --topic first 

  5、修改topic的分区数(只能增加不能减少分区):bin/kafka-topics.sh --zookeeper hadoop102:2181 --alter --topic first --partitions 6 

posted on 2020-04-20 15:49  hdc520  阅读(361)  评论(0编辑  收藏  举报

导航