天天看點

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

繼續閱讀