TDH-kafka

一、kafka原理:
1.broker:一个kafka实例,多个broker组成kafka集群;

2.topic:逻辑概念,同一类数据的集合,可以看做一张表;

3.producer:将数据写入topic,作为broker写数据的客户端;

4.consumer:从topic中取数据,作为broker消费数据的客户端;

5.partition:物理概念,一个topic分多个分区,分区内数据有序的消息队列,分区是一个文件夹形式,里面保存数据和索引文件;

6.replication:副本数,保存在不同的broker;

7.Consumer Group(CG, 消费者组):
一条消息可以发送给多个不同的CG,但一个CG中只能有一个Consumer读取该消息;

8.Zookeeper:
Kafka将元数据保存在Zookeeper中负责Kafka集群管理,包括配置管理、 动态扩展、 Broker负载均衡、 Leader选举,以及
Consumer Group变化时的Rebalance等;

9.Offset:是用于定位分区中消息的顺序编号;

10.00000000000000000000.index:内容是offset+position;
00000000000000000000.timeindex:内容是timestamp+offset;

11.Kafka Controller Leader:由zk选举出来,负责管理Kafka集群的分区和副本状态,避免分区副本直接在Zookeeper
上注册Watcher和竞争创建临时Znode,导致Zookeeper集群负载过重

12. Kafka Partition Leader:Kafka Controller Leader负责Partition Leader的选举
Partition Leader负责跟踪和维护ISR;
Partition Follower定期从Leader同步数据;

13.常用指令:

查看topic列表
./kafka-topic.sh --zookeeper tdh-24:2181 --list

创建topic
./kafka-topic.sh --zookeeper tdh-24:2181 --create --topic demo -- partitions 3 --replication-factor 1

查看topic描述
./kafka-topic.sh --zookeeper tdh-24:2181 --describe --topic demo

删除topic
./kafka-topic.sh --zookeeper tdh-24:2181 --delete --topic demo 标记删除 后台进程删除

生产--针对某topic
./kafka-console-producer.sh --broker-list tdh-24:9092, tdh-25:9092 --topic demo

消费--针对某topic
./kafka-console-custmer.sh --bootstrap-server tdh-24:9092 --topic demo

消费--针对某topic.重新消费
./kafka-console-custmer.sh --bootstrap-server tdh-24:9092 --topic demo --from begining --consumer -property group.id=00001test

查看某一group的topic
./kafka-cusumer-group.sh --bootstrap-server tdh-24:9092 --list


./kafka-streams-applications-reset.sh --zookeeper tdh-24:2181 --bootstrap servers tdh-24:9092 --input topics demo
application -id 00001test 重新消费

原文地址:https://www.cnblogs.com/Lxiaojiang/p/9599818.html