Kafka簡(jiǎn)介+Kafka Tool使用簡(jiǎn)介+使用實(shí)例
詳細(xì)安裝訪(fǎng)問(wèn): https://www.jianshu.com/p/c74e0ec577b0
macOS 可以用homebrew快速安裝,訪(fǎng)問(wèn)地址: https://www.jianshu.com/p/cddd25da8061
原文鏈接: https://www.jianshu.com/p/06884c5bf3f1
查看topic列表:
創(chuàng)建topic:
--create :創(chuàng)建命令;
--topic :后面指定topic名稱(chēng);
--replication-factor :后面指定副本數(shù);
--partitions :指定分區(qū)數(shù),根據(jù)broker的數(shù)量決定;
--zookeeper :后面指定 zookeeper.connect 的zk鏈接
查看某個(gè)topic:
Kafka 作為消息系統(tǒng)的一種, 當(dāng)然可 以像其他消 息中 間件一樣作為消息數(shù)據(jù)中轉(zhuǎn)的平臺(tái)。 下面以 Java 語(yǔ)言為例,看一下如何使用 Kafka 來(lái)發(fā)送和接收消息。
1、引入依賴(lài)
2、消息生產(chǎn)者
示例 中用 KafkaProducer 類(lèi)來(lái)創(chuàng)建一個(gè)消息生產(chǎn)者,該類(lèi)的構(gòu)造函數(shù)入?yún)⑹且幌盗袑傩灾怠O旅婵匆幌逻@些屬性具體都是什么含義。
bootstrap.servers 表示 Kafka 集群 。 如果集群中有多臺(tái)物理服務(wù)器,則服務(wù)器地址之間用逗號(hào)分隔, 比如” 192.168.1.1 :9092,192.168.1.2:9092” 。 localhost 是筆者電腦的地址,9092 是 Kafka 服務(wù)器默認(rèn)監(jiān)聽(tīng)的端口號(hào)。
key.serializer 和 value.serializer 表示消息的序列化類(lèi)型 。 Kafka 的消息是以鍵值對(duì)的形式發(fā)送到 Kafka 服務(wù)器的,在消息被發(fā)送到服務(wù)器之前,消息生產(chǎn)者需要把不同類(lèi)型的 消息序列化為 二 進(jìn)制類(lèi)型,示例中是發(fā)送文本消息到服務(wù)器 , 所以使用的是StringSerializer。
key.deserializer 和 value.deserializer 表示消息的反序列化類(lèi)型。把來(lái)自 Kafka 集群的二進(jìn)制消 息反序列 化 為指定 的 類(lèi)型,因?yàn)樾蛄谢玫氖荢tring類(lèi)型,所以用StringDeserializer 來(lái)反序列化。
zk.connect 用于指定 Kafka 連接 ZooKeeper 的 URL ,提供了基于 ZooKeeper 的集群服務(wù)器自動(dòng)感知功能, 可以動(dòng)態(tài)從 ZooKeeper 中讀取 Kafka 集群配置信息。
有 了 消息生產(chǎn)者之后 , 就可以調(diào)用 send 方法發(fā)送消息了。該方法的入?yún)⑹?ProducerRecord類(lèi)型對(duì)象 , ProducerRecord 類(lèi)提供了多種構(gòu)造函數(shù)形參,常見(jiàn)的有如下三種 :
ProducerRecord(topic,partition,key,value);
ProducerRecord(topic,key,value);
ProducerRecord(topic, value) ;
其中 topic 和 value 是必填的, partition 和 key 是可選的 。如果指定了 pa時(shí)tion,那么消息會(huì)被發(fā)送至指定的 partition ;如果沒(méi)指定 partition 但指定了 Key,那么消息會(huì)按照 hash(key)發(fā)送至對(duì)應(yīng)的 partition: 如果既沒(méi)指定 partition 也沒(méi)指定 key,那么 消息會(huì)按照 round-robin 模式發(fā)送(即以輪詢(xún)的方式依次發(fā)送〉到每一個(gè) partition。示例中將向 test-topic 主題發(fā)送三條消息。
3、消息消費(fèi)者
和消息生產(chǎn)者類(lèi)似,這里用 KafkaConsumer 類(lèi)來(lái)創(chuàng)建一個(gè)消息消費(fèi)者,該類(lèi)的構(gòu)造函數(shù)入?yún)⒁彩且幌盗袑傩灾怠?/p>
bootstrap. servers 和生產(chǎn)者一樣,表示 Kafka 集群。
group.id 表示消費(fèi)者的分組 ID。
enable.auto.commit 表示 Consumer 的 offset 是否自 動(dòng)提交 。
auto.commit.interval .ms 用于設(shè)置自動(dòng)提交 offset 到 ZooKeeper 的時(shí)間間隔,時(shí)間單位是毫秒。
key. deserializer 和 value.deserializer 表示用字符串來(lái)反序列化消息數(shù)據(jù)。
消息消費(fèi)者使用 subscribe 方法 訂閱了 Topic 為 test-topic 的消息。 Consumer 調(diào)用poll 方法來(lái)輪詢(xún) Kafka 集群的消息, 一直等到 Kafka 集群中沒(méi)有消息或達(dá)到超時(shí)時(shí)間(示例中設(shè)置超時(shí)時(shí)間為 100 毫秒)為止 。 如果讀取到消息,則打印出消息記錄的 pa此ition, offset、key 等。
相關(guān)評(píng)說(shuō):
羅湖區(qū)砂輪: ______ 弗蘭茨·卡夫卡,(Franz Kafka, 1883~1924) 奧地利小說(shuō)家.出生猶太商人家庭,18歲入布拉格大學(xué)學(xué)習(xí)文學(xué)和法律,1904年開(kāi)始寫(xiě)作,主要作品為4部短篇小說(shuō)集和3...
羅湖區(qū)砂輪: ______ 1979年 / 風(fēng)の歌を?け/ 且聽(tīng)風(fēng)吟/ 聽(tīng)風(fēng)的歌 / Hear the Wind Sing 1980年/ 1973年のピ... / Aeroplane: Or, How He Talked to Himself as if Reciting Poetry / Blind Willow, ...
羅湖區(qū)砂輪: ______ 前面應(yīng)該還有個(gè)數(shù)據(jù)生產(chǎn)者,比如flume.flume負(fù)責(zé)生產(chǎn)數(shù)據(jù),發(fā)送至kafka.spark streaming作為消費(fèi)者,實(shí)時(shí)的從kafka中獲取數(shù)據(jù)進(jìn)行計(jì)算.計(jì)算結(jié)果保存至redis,供實(shí)時(shí)推薦...
羅湖區(qū)砂輪: ______ 獲獎(jiǎng)經(jīng)歷1979年 - “且聽(tīng)風(fēng)吟”獲得群像新人文學(xué)賞、芥川賞候補(bǔ) . 1980年 - “1973年的彈珠玩具”芥川賞候補(bǔ). 1982年 - “尋羊冒險(xiǎn)記”獲得野間文藝新人賞. 1985年 - “世界盡頭與冷酷仙境”獲得谷崎潤(rùn)一郎賞. 1996年 - “奇鳥(niǎo)行狀錄...