kafka基础知识点

时间:2021-02-16 10:10:11

1、安装:

  1.1. 前置安装要求:java + zookeeper

  1.2. 下载安装包:http://mirros.cnnic.cn/apache/kafka/0.9.00/kafka_2.10-0.9.0.0.tgz

  1.3. 执行安装命令:kafka-server-start.sh ../config/server.properties &

2、基本组件

  2.1 Producer: 消息生产者

  2.2 Consumer: 消费消费者

  2.3 Broker:一台kafka服务器被称为一个broker,整个集群可由多个 Broker组成

  2.4 Partition:一个Topic在物理上可以划分为多个Partition,每个Partition可以理解为独立的物理队列(文件载体),

    该Partition可以被负载到不同的Broker上实现Kafka的水平扩展;

  2.5 Topic:消息队列

kafka基础知识点

3、常用的命令

  3.1 创建一个topic

./kafka-topics.sh --zookeeper localhost:2181 --create --topic test01  --partitions 3  --replication-factor 1

  3.2 查看当前所有的topic

./kafka-topics.sh --zookeeper localhost:2181 --list

  3.3 在控制台启动一个生产者

./kafka-console-producer.sh --broker-list localhost:9092 --topic test01

  3.4 在控制台启动一个消费者

./kafka-console-consumer.sh --zookeeper localhost:2181 --topic test01 --from-beginning

  3.5 启动一个消费者并制定消费者组

./kafka-console-consumer.sh --consumer.config ../config/consumer.properties --zookeeper localhost:2181 --topic test01 --from-beginning

  在consumer.properties中设置消费者组,一个消费者组可以包含多个消费者
  #consumer group id
  group.id=tg

  3.6 查看某个topic的消费进度,必须以消费者组为单位

./kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --group tg01 --zookeeper localhost:2181

kafka基础知识点

如上例,不同的消费者组对于用一个topic,读的进度(偏移)是不一样的

  3.7 查看topic详情

./kafka-topics.sh --describe --zookeeper localhost:2181 --topic test02

kafka基础知识点