Kafka中的名词说明:
1、Producer:生产者,向kafka broker中发送消息客户端
2、Consumer:消费者,向kafka broker中拉取消息客户端
3、Consumer Group:消费者组,由多个Consumer组成,消费者内每个消费者负责消费不同分区,一个分区只能由一个消费者进行消费,消费者组之间互不影响,所有的消费者都属于某个消费者组,即消费者组是逻辑上一个订阅者
4、Broker:一台kafka服务器就是一个broker,一个集群由多个broker组成,一个broker可以容纳多个topic
5、Topic:理解为一个消息队列,生产者和消费者都是面对一个Topic
6、Partition:为了实现扩展性,每个partition时一个有序队列,partition是topic中存储数据和消费数据所使用的队列所在
7、Replica:副本,为了保证当前某个节点发生故障时,当前节点上的数据不会发生丢失,且kafka可以仍然继续执行,kafka提供了副本机制,一个Topic上的分区可以由多个副本存在,分区和副本质检的关系是leader和follower,
8、leader:每个分区多个副本的“主”,生产者生产数据的对象,以及消费组消费者消费的对象‘
9、follower:每个分区多个副本的“从”,实时从leader数据的同步,一旦leader发生故障,可以保证kafka可以继续提供服务,数据不会丢失,提供一个全新的leader
kafka的常用操作命令:
1、启动kafka
启动之前一定要启动zookeeper
注意是在kafka的,bin目录下
nohup ./kafka-server-start.sh /opt/software/kafka_2.11-1.1.0/config/server.properties &
2、创建Topic
kafka-topics.sh --create --zookeeper hadoop02:2181 --replication-factor 1 --partitions 1 --topic test
解释: –create 创建
–zookeeper 在zookeeper中进行存储(节点写一个即可)
–replication-factor 指定副本数量
–partitions 分区数量
–topic topic名称
2、查看kafka中topic
kafka-topics.sh --list --zookeeper hadoop02:2181
3、创建生产者:
kafka-console-producer.sh --broker-list hadoop01:9092 --topic test
注解:
–broker-list kafka节点
–topic topic名称
4、消费者(换一台节点)
kafka-console-consumer.sh --zookeeper hadoop02:2181
--from-beginning --topic test
注解:
–zoopkeeper 指定zoopkeeper集群
–from-beginning 指定从头开始消费
–topic 指定消费哪个topic
5、查看详细信息
kafka-topics.sh --topic test --describe --zookeeper hadoop02:2181
注解:
–topic 指定查看哪个topic
–describe 描述,固定写法
–zoopkeeper 指定zoopkeeper集群
6、更新topic中的分区partitions
kafka-topics.sh --zookeeper hadoop02 --alter --partitions 1 --topic test
注解:
–alter 更新
–partitions 分区数量,注意更新时只能增多,不能减少
7、删除Topic不是立即生效,而是标记删除
kafka-topics.sh --delete --zookeeper hadoop02:2181 --topic test1
注解:
–delete 删除
***–zoopkeeper***指定zoopkeeper集群
–topic 指定删除topic名称