摘要:閱讀本教程前最好先嘗試閱讀下的實(shí)踐自帶命令實(shí)踐嘗試實(shí)踐的知識創(chuàng)建話題生產(chǎn)消息消費(fèi)消息話題信息獲取消費(fèi)組獲取消費(fèi)組的自帶的命令安裝目錄的目錄下代表我們會使用的腳本
閱讀本教程前最好先嘗試閱讀:PHP下kafka的實(shí)踐
自帶命令實(shí)踐 嘗試實(shí)踐的kafka知識:創(chuàng)建話題
生產(chǎn)消息
消費(fèi)消息
話題信息
獲取消費(fèi)組
獲取消費(fèi)組的offset
自帶的命令# kafka安裝目錄的bin目錄下 # * 代表我們會使用的腳本 connect-distributed.sh kafka-log-dirs.sh kafka-streams-application-reset.sh connect-standalone.sh kafka-mirror-maker.sh kafka-topics.sh* kafka-acls.sh kafka-preferred-replica-election.sh kafka-verifiable-consumer.sh kafka-broker-api-versions.sh kafka-producer-perf-test.sh kafka-verifiable-producer.sh kafka-configs.sh kafka-reassign-partitions.sh trogdor.sh kafka-console-consumer.sh* kafka-replay-log-producer.sh windows kafka-console-producer.sh* kafka-replica-verification.sh zookeeper-security-migration.sh kafka-consumer-groups.sh* kafka-run-class.sh zookeeper-server-start.sh kafka-consumer-perf-test.sh kafka-server-start.sh zookeeper-server-stop.sh kafka-delegation-tokens.sh kafka-server-stop.sh zookeeper-shell.sh* kafka-delete-records.sh kafka-simple-consumer-shell.sh創(chuàng)建話題(kafka-topics.sh)
# 創(chuàng)建1個(gè)分區(qū)1個(gè)副本的test話題,這里是副本其實(shí)可以理解為broker里至少擁有數(shù)量,must >=1 # --zookeeper localhost:2181 (kafka的默認(rèn)端口:2181) bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test # 創(chuàng)建2個(gè)分區(qū)1個(gè)副本的test02話題 bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 2 --topic test02 # 列出所有話題 bin/kafka-topics.sh --list --zookeeper localhost:2181 __consumer_offsets test test02 # 注意這里的__consumer_offsets是kafka默認(rèn)創(chuàng)建的,用于存儲kafka消費(fèi)記錄的話題,我們暫時(shí)不用理會 # 列出具體話題的信息 bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test Topic:test PartitionCount:1 ReplicationFactor:1 Configs: Topic: test Partition: 0 Leader: 0 Replicas: 0 Isr: 0 bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test02 Topic:test02 PartitionCount:2 ReplicationFactor:1 Configs: Topic: test02 Partition: 0 Leader: 0 Replicas: 0 Isr: 0 Topic: test02 Partition: 1 Leader: 0 Replicas: 0 Isr: 0 # 從上面的顯示 我們可以發(fā)現(xiàn),第一句是顯示總體信息,下面縮進(jìn)顯示的是分區(qū)信息消費(fèi)者(kafka-console-consumer.sh)
# 啟動(dòng)一個(gè)消費(fèi)組消費(fèi),這里我們需要開啟一個(gè)shell終端,因?yàn)闀却敵?bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning # 等待輸出生產(chǎn)者(kafka-console-consumer.sh)
# 這里我們需要開啟一個(gè)shell終端,因?yàn)闀却斎?bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test # 待我們輸入消息 等待出現(xiàn)> > msg01 > msg02 > msg03 #注意觀察上面的消費(fèi)者終端,自動(dòng)輸出了我們的消息 msg01 msg02 msg03查看消費(fèi)組
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list Note: This will not show information about old Zookeeper-based consumers. console-consumer-25379 console-consumer-73410 console-consumer-27127 console-consumer-61887 console-consumer-61324 # 這里我們再來起一個(gè)消費(fèi)者再次輸出(因?yàn)橹暗南M(fèi)者我們不知道最新的這次消費(fèi)組id是多少) bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list Note: This will not show information about old Zookeeper-based consumers. console-consumer-25379 console-consumer-73410 console-consumer-27127 console-consumer-39416 # 這個(gè)是我們新起的消費(fèi)組id,下面我們根據(jù)這個(gè)消費(fèi)組來做實(shí)踐 console-consumer-61887 console-consumer-61324 # 查看消費(fèi)組的具體信息 bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group console-consumer-39416 Note: This will not show information about old Zookeeper-based consumers. TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID test 0 9 9 0 consumer-1-94afec29-5042-4108-8619-ba94812f10a8 /127.0.0.1 consumer-1 # 查看離線的console-consumer-25379消費(fèi)組 bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group console-consumer-25379 Note: This will not show information about old Zookeeper-based consumers. Consumer group "console-consumer-25379" has no active members. TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID test 0 5 9 4 - - - # 查看離線的console-consumer-27127消費(fèi)組 bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group console-consumer-27127 Note: This will not show information about old Zookeeper-based consumers. Consumer group "console-consumer-27127" has no active members. TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID test 0 6 9 3 - - - # 這里我們發(fā)現(xiàn)我們每次都會生成一個(gè)消費(fèi)組一個(gè)消費(fèi)者,不方便我們做一個(gè)消費(fèi)組多個(gè)消費(fèi)者測試啟動(dòng)一個(gè)消費(fèi)組多個(gè)消費(fèi)者
cp config/consumer.properties config/consumer_g1.properties vim config/consumer_g1.properties # 修改消費(fèi)組名 group.id=test-consumer-group => group.id=test-g1 bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning --consumer.config config/consumer_g1.properties msg01 msg02 msg03 bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning --consumer.config config/consumer_g1.properties # 無輸出(因?yàn)閠est話題我們只有一個(gè)分區(qū),一個(gè)分區(qū)只能被同個(gè)消費(fèi)組下面的一個(gè)消費(fèi)者消費(fèi),所以這個(gè)就閑置了) # 查看消費(fèi)組 bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list Note: This will not show information about old Zookeeper-based consumers. console-consumer-25379 console-consumer-73410 console-consumer-27127 console-consumer-39416 test-g1 console-consumer-61887 console-consumer-61324 # 查看test-g1消費(fèi)組 bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group test-g1 Note: This will not show information about old Zookeeper-based consumers. TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID test 0 9 9 0 consumer-1-43922b0c-34e0-47fe-b597-984c9e6a2884 /127.0.0.1 consumer-1 # 下面我們再開啟test02的2個(gè)消費(fèi)組看看情況 # 我們再為test02話題啟動(dòng)2個(gè)test-g1消費(fèi)組的消費(fèi)者 bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test02 --from-beginning --consumer.config config/consumer_g1.properties bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test02 --from-beginning --consumer.config config/consumer_g1.properties # 查看test-g1消費(fèi)組 bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group test-g1 Note: This will not show information about old Zookeeper-based consumers. TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID test02 0 0 0 0 consumer-1-90ccc960-557a-46ab-a799-58c35ee670d8 /127.0.0.1 consumer-1 test02 1 0 0 0 consumer-1-c6d79321-8212-4594-8a11-353f684c54fc /127.0.0.1 consumer-1 test 0 9 9 0 consumer-1-7a2706f7-a206-4c29-ae1f-3726ad21af96 /127.0.0.1 consumer-1 # 這里你可以在話題test產(chǎn)生一個(gè)消息看下,然后再test02再多產(chǎn)生幾條消息看下,你會發(fā)現(xiàn)test02的2個(gè)消費(fèi)組幾乎是負(fù)載的消費(fèi)了消息消費(fèi)組的一些信息命令
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group my-group --members --verbose Note: This will not show information about old Zookeeper-based consumers. CONSUMER-ID HOST CLIENT-ID #PARTITIONS ASSIGNMENT consumer-1-b8eeb8bc-6aa6-439b-84d8-0fcbed4a2899 /127.0.0.1 consumer-1 1 test02(1) consumer-1-7109f789-a5cf-4862-94d0-976146dbc769 /127.0.0.1 consumer-1 1 test(0) consumer-1-90ccc960-557a-46ab-a799-58c35ee670d8 /127.0.0.1 consumer-1 1 test02(0) bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group my-group --state Note: This will not show information about old Zookeeper-based consumers. COORDINATOR (ID) ASSIGNMENT-STRATEGY STATE #MEMBERS localhost:9092 (0) range Stable 3 bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --delete --group console-consumer-25379zookeeper(zookeeper-shell.sh) 連接
bin/zookeeper-shell.sh 127.0.0.1:2181 Connecting to 127.0.0.1:2181 Welcome to ZooKeeper! JLine support is disabled WATCHER:: WatchedEvent state:SyncConnected type:None path:null常用命令
ls / [cluster, controller_epoch, controller, brokers, zookeeper, admin, isr_change_notification, consumers, log_dir_event_notification, latest_producer_id_block, config]
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/29291.html
摘要:消息以為類別記錄將消息種子分類每一類的消息稱之為一個(gè)主題。這意味著生產(chǎn)者不等待來自同步完成的確認(rèn)繼續(xù)發(fā)送下一條批消息。這意味著在已成功收到的數(shù)據(jù)并得到確認(rèn)后發(fā)送下一條。三種機(jī)制,性能依次遞減吞吐量降低,數(shù)據(jù)健壯性則依次遞增。 kafka 簡介 Kafka 是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng) kafka角色必知 producer:生產(chǎn)者。 consumer:消費(fèi)者。 topic: 消...
摘要:簡評之前,后端開發(fā)路線圖僅僅是一個(gè)技術(shù)推薦,且沒有明確的方向指明應(yīng)該遵循的順序,這份重新制作的指南將會給你一個(gè)更好的方向?,F(xiàn)在開始創(chuàng)建一個(gè)包并分發(fā)給其他人使用,并確保遵循迄今為止學(xué)到的標(biāo)準(zhǔn)和最佳實(shí)踐。 簡評:之前,后端開發(fā)路線圖僅僅是一個(gè)技術(shù)推薦,且沒有明確的方向指明應(yīng)該遵循的順序,這份重新制作的指南將會給你一個(gè)更好的方向。 現(xiàn)在的 Web 開發(fā)與幾年前完全不同了,有很多不同的東西可以...
閱讀 2344·2023-04-25 14:29
閱讀 1473·2021-11-22 09:34
閱讀 2714·2021-11-22 09:34
閱讀 3397·2021-11-11 10:59
閱讀 1863·2021-09-26 09:46
閱讀 2238·2021-09-22 16:03
閱讀 1928·2019-08-30 12:56
閱讀 484·2019-08-30 11:12