Kafka基本概念简介及常用命令

一、Kafka架构组件

  • Topic:每一类消息的主题,Kafka将消息按照主题分类
  • broker:代表的是每台机器上面运行的Kafka的实例,说白了就是kafka的进程
  • Producer:生产者,生产者将数据发布到他们选择的主题。生产者负责选择分配给主题中哪个分区的记录。常见的有:flume/maxwell
  • Consumer:消费者,消费者使用消费者组名称标记自己,并且发布到主题的每个记录被传递到每个订阅消费者组中的一个消费者实例。常见的有:Spark Streaming/flink
  • partitions: 分区 分区下标从0开始,假设3个分区,分区下标分别为-0,-1,-2,体现了高并发读写的特点
  • replication:指的是每个partition有几个副本,体现了高容错的特点


    11864772-205fd5733642a2f2.png
    image.png

    假设kafka集群有三台机器,3个partition,3个副本,3个副本分别坐落在三台机器上,此时有一条数据写入机器1的partition-0,那么它的另外两个副本必然是写在机器2的partition-0和机器3的partition-0中,并不是三个副本分别处于partition-0,partition-1和partition-2中

二、Kafka的常用命令

  • 创建一个Topic
>bin/kafka-topics.sh --create \
--zookeeper localhost:2181 \
--replication-factor 1 \
--partitions 3 \
--topic test
集群:--zookeeper hadoop001:2181,hadoop002:2181,hadoop003:2181/kafka
  • 查看创建的Topic信息
>bin/kafka-topic.sh --list --zookeeper localhost:2181 
>test
  • 主题信息
>bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
  • 添加分区
>bin/kafka-topics.sh --alter --zookeeper localhost:2181 --topic test --partitions 3
  • 删除主题
>bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic test

需要在Broker的配置文件server.properties中配置 delete.topic.enable=true 才能删除主题

  • 生产者客户端命令
>bin/kafka-console-producer.sh --broker-list localhost:9092--topic test
  • 消费者客户端命令
>bin/kafka-console-consumer.sh -zookeeper localhost:2181--from-beginning --topic test

猜你喜欢

转载自blog.csdn.net/weixin_33895516/article/details/87239952