Kafka從搭建到使用

Kafka從搭建到使用

kafka簡介

Kafka是一款流行分布式消息分布訂閱系統(tǒng)衰絮,除Kafka之外還有MQ练俐、Redis等沸久。我們可以把消息隊(duì)列視為一個(gè)管道季眷,管道的兩端分別是消息生產(chǎn)者(producer)和消息消費(fèi)者(consumer),消息生產(chǎn)者產(chǎn)生日志等消息后可以發(fā)送到管道中卷胯,這時(shí)消息隊(duì)列可以駐留在內(nèi)存或者磁盤上子刮,直到消費(fèi)者來把它讀走為止。

上述就是Kafka的一個(gè)概括窑睁,我們只需要了解一下Kafka的架構(gòu)和一些專業(yè)術(shù)語即可挺峡,下面就來介紹一下Kafka 中一些專業(yè)術(shù)語。

Producer:消息生產(chǎn)者担钮,負(fù)責(zé)把產(chǎn)生的消息發(fā)送到Kafka服務(wù)器上橱赠。

Consumer:消息消費(fèi)者,從Kafka服務(wù)器讀取消息箫津。

Consumer Group:消費(fèi)者群組狭姨,每個(gè)消息消費(fèi)者可以劃分為一個(gè)特定的群組。

Topic:這是Kafka使用中非常重要的一個(gè)術(shù)語苏遥,它相當(dāng)于消息的"身份標(biāo)識(shí)"饼拍,消息生產(chǎn)者產(chǎn)生消息時(shí)會(huì)給它貼上一個(gè)Topic標(biāo)簽,當(dāng)消息消費(fèi)者需要讀取消息時(shí)田炭,可以根據(jù)這個(gè)Topic讀取特定的數(shù)據(jù)师抄。

Broker:Kafka集群中包含的服務(wù)器。

kafka配置

image-20221201132327741.png

然后解壓并且進(jìn)入kafka的路徑下

tar xzf kafka_2.13-3.2.0.tgz
cd kafka_2.13-3.2.0

這里需要簡單的介紹一下ZooKeeper教硫,它是一個(gè)開源的分布式協(xié)調(diào)框架司澎,它可以將那些容易出錯(cuò)的分布式一致性服務(wù)封裝起來欺缘,構(gòu)成一個(gè)高效、可靠挤安、簡單易用的結(jié)構(gòu)提供給用戶使用谚殊。

之所以提到ZooKeeper是因?yàn)镵afka就是使用ZooKeeper作為協(xié)調(diào)框架,因?yàn)榍懊嫦螺d的壓縮包中已經(jīng)包含了ZooKeeper蛤铜,因此不需要在單獨(dú)去下載它的安裝包嫩絮。

 bin/zookeeper-server-start.sh config/zookeeper.properties

啟動(dòng)ZooKeeper服務(wù)之后再啟動(dòng)Kafka服務(wù),

 bin/kafka-server-start.sh config/server.properties

需要強(qiáng)調(diào)一下围肥,config/server.properties是Kafka的配置文件剿干,可以用于配置監(jiān)聽的host、port穆刻、broker等置尔。

默認(rèn)的ZooKeeper連接服務(wù)為localhost:2181,

# Zookeeper connection string (see zookeeper docs for details).
# This is a comma separated host:port pairs, each corresponding to a zk
# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002".
# You can also append an optional chroot string to the urls to specify the
# root directory for all kafka znodes.
zookeeper.connect=localhost:2181

另外氢伟,producer和consumer的監(jiān)聽端口為9092榜轿,如果需要更改server的host和port端口可以通過修改config/server.properties進(jìn)行配置。

Kafka使用

命令行

命令行的使用方式相對簡單朵锣,通過前面的Kafka配置之后可以直接在命令行下進(jìn)行使用谬盐。

1. 創(chuàng)建Topic

使用Kafka,我們首先需要?jiǎng)?chuàng)建一個(gè)Topic诚些,這樣后續(xù)消息生產(chǎn)者和消息消費(fèi)者才能針對性的發(fā)送和消費(fèi)數(shù)據(jù)飞傀,

> bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test(創(chuàng)建的topic名稱)

這樣我們就創(chuàng)建了一個(gè)名為test的Topic。

我們也可以通過命令來查看我們已經(jīng)創(chuàng)建的 Topic诬烹,

> bin/kafka-topics.sh --list --bootstrap-server localhost:9092

2. 發(fā)送消息

前面介紹Kafka專業(yè)術(shù)語中已經(jīng)闡述砸烦,Kafka使用過程中首先需要消息生產(chǎn)者發(fā)送消息,那么消費(fèi)者才可以讀取到消息绞吁。

啟動(dòng)一個(gè)終端A外冀,執(zhí)行下面命令,

> bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
>hello world
>

當(dāng)執(zhí)行producer腳本后掀泳,會(huì)出現(xiàn)消息輸入提示符,這是我們可以輸入消息(數(shù)據(jù))西轩,然后它會(huì)發(fā)送到對應(yīng)的服務(wù)器(Broker)员舵。

3. 消費(fèi)消息

現(xiàn)在管道中已經(jīng)有了數(shù)據(jù),接下來我就可以使用消費(fèi)者去讀取數(shù)據(jù)藕畔。

另外啟動(dòng)一個(gè)終端B马僻,執(zhí)行下面命令,

> bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
hello world

可以看到注服,消息消費(fèi)者一直處于監(jiān)聽狀態(tài)韭邓,每當(dāng)在終端A輸入一條消息措近,終端B也會(huì)更新一條消息。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末女淑,一起剝皮案震驚了整個(gè)濱河市瞭郑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鸭你,老刑警劉巖屈张,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異袱巨,居然都是意外死亡阁谆,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進(jìn)店門愉老,熙熙樓的掌柜王于貴愁眉苦臉地迎上來场绿,“玉大人,你說我怎么就攤上這事嫉入⊙娴粒” “怎么了?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵劝贸,是天一觀的道長姨谷。 經(jīng)常有香客問我,道長映九,這世上最難降的妖魔是什么梦湘? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮件甥,結(jié)果婚禮上捌议,老公的妹妹穿的比我還像新娘。我一直安慰自己引有,他們只是感情好瓣颅,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著譬正,像睡著了一般宫补。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上曾我,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天粉怕,我揣著相機(jī)與錄音,去河邊找鬼抒巢。 笑死贫贝,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播稚晚,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼崇堵,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了客燕?” 一聲冷哼從身側(cè)響起鸳劳,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎幸逆,沒想到半個(gè)月后棍辕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡还绘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年楚昭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拍顷。...
    茶點(diǎn)故事閱讀 40,505評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡抚太,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出昔案,到底是詐尸還是另有隱情尿贫,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布踏揣,位于F島的核電站庆亡,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏捞稿。R本人自食惡果不足惜又谋,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望娱局。 院中可真熱鬧彰亥,春花似錦、人聲如沸衰齐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽耻涛。三九已至废酷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間抹缕,已是汗流浹背澈蟆。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留歉嗓,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓背蟆,卻偏偏與公主長得像鉴分,于是被迫代替她去往敵國和親哮幢。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評論 2 359

推薦閱讀更多精彩內(nèi)容