搭建kafka運行環(huán)境

? ? ? ? 因為最近要搞微服務(wù)畸悬,日志分析部分需要使用kafka趴生,今天抽了點時間參考了一下網(wǎng)絡(luò)上的文章在虛機上安裝了一下茅郎,現(xiàn)記錄如下:

1.下載kafka

Apache官網(wǎng):http://kafka.apache.org/downloads.html

最新版下載:下載Binary壓縮包

放置路徑:/opt

2.解壓下載的kafka

tar -xzf kafka_2.10-0.8.2.2.tgz

cd kafka_2.10-0.8.2.2

3. 啟動服務(wù)

3.1 啟動zookeeper

啟動zk有兩種方式患雏,第一種是使用kafka自己帶的一個zk茅茂。

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

另一種是使用其它的zookeeper捏萍,可以位于本機也可以位于其它地址。這種情況需要修改config下面的sercer.properties里面的zookeeper地址 玉吁。例如zookeeper.connect=localhost:2181

3.2 啟動 kafka

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

4.創(chuàng)建topic

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test &

創(chuàng)建一個名為test的topic照弥,只有一個副本,一個分區(qū)进副。

通過list命令查看剛剛創(chuàng)建的topic

bin/kafka-topics.sh -list -zookeeper 10.202.4.179:2181

5.啟動producer并發(fā)送消息啟動producer

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

啟動之后就可以發(fā)送消息了

比如

test

hello boy

按Ctrl+C退出發(fā)送消息

6.啟動consumer

bin/kafka-console-consumer.sh --zookeeper 10.202.4.179:2181 --topic test --from-beginning

啟動consumer之后就可以在console中看到producer發(fā)送的消息了

可以開啟兩個終端,一個發(fā)送消息,一個接受消息影斑。


下面的沒有驗證:

7.搭建一個多個broker的集群

剛才只是啟動了單個broker给赞,現(xiàn)在啟動有3個broker組成的集群,這些broker節(jié)點也都是在本機上的:

首先為每個節(jié)點編寫配置文件:

> cp config/server.properties config/server-1.properties

> cp config/server.properties config/server-2.properties

在拷貝出的新文件中添加以下參數(shù):

config/server-1.properties:

broker.id=1

port=9093

log.dir=/tmp/kafka-logs-1

config/server-2.properties:

broker.id=2

port=9094

log.dir=/tmp/kafka-logs-2

broker.id在集群中唯一的標(biāo)注一個節(jié)點矫户,因為在同一個機器上片迅,所以必須制定不同的端口和日志文件,避免數(shù)據(jù)被覆蓋皆辽。

We already have Zookeeper and our single node started, so we just need to start the two new nodes:

剛才已經(jīng)啟動可Zookeeper和一個節(jié)點柑蛇,現(xiàn)在啟動另外兩個節(jié)點:

>bin/kafka-server-start.sh config/server-1.properties &...>bin/kafka-server-start.sh config/server-2.properties &...

創(chuàng)建一個擁有3個副本的topic:

>bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic my-replicated-topic

現(xiàn)在我們搭建了一個集群,怎么知道每個節(jié)點的信息呢驱闷?運行“"describe topics”命令就可以了:

>bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topicTopic:my-replicated-topic? ? ? PartitionCount:1? ? ? ? ReplicationFactor:3? ? Configs:? ? ? ? Topic: my-replicated-topic? ? ? Partition: 0? ? Leader: 1? ? ? Replicas: 1,2,0 Isr: 1,2,0

下面解釋一下這些輸出耻台。第一行是對所有分區(qū)的一個描述,然后每個分區(qū)都會對應(yīng)一行空另,因為我們只有一個分區(qū)所以下面就只加了一行盆耽。

leader:負(fù)責(zé)處理消息的讀和寫,leader是從所有節(jié)點中隨機選擇的.

replicas:列出了所有的副本節(jié)點扼菠,不管節(jié)點是否在服務(wù)中.

isr:是正在服務(wù)中的節(jié)點.

在我們的例子中摄杂,節(jié)點1是作為leader運行。

向topic發(fā)送消息:

>bin/kafka-console-producer.sh --broker-list localhost:9092 --topic my-replicated-topic...my test message 1my test message 2^C

消費這些消息:

>bin/kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic my-replicated-topic...my test message 1my test message 2^C

測試一下容錯能力.Broker 1作為leader運行循榆,現(xiàn)在我們kill掉它:

>ps | grep server-1.properties7564ttys002? ? 0:15.91 /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home/bin/java...>kill -9 7564

另外一個節(jié)點被選做了leader,node 1 不再出現(xiàn)在 in-sync 副本列表中:

>bin/kafka-topics.sh --describe --zookeeper localhost:218192 --topic my-replicated-topicTopic:my-replicated-topic? ? ? PartitionCount:1? ? ? ? ReplicationFactor:3? ? Configs:? ? ? ? Topic: my-replicated-topic? ? ? Partition: 0? ? Leader: 2? ? ? Replicas: 1,2,0 Isr: 2,0

雖然最初負(fù)責(zé)續(xù)寫消息的leader down掉了析恢,但之前的消息還是可以消費的:

>bin/kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic my-replicated-topic...my test message 1my test message 2^C

看來Kafka的容錯機制還是不錯的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末秧饮,一起剝皮案震驚了整個濱河市氮昧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌浦楣,老刑警劉巖袖肥,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異振劳,居然都是意外死亡椎组,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門历恐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來寸癌,“玉大人,你說我怎么就攤上這事弱贼≌粑” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵吮旅,是天一觀的道長溪烤。 經(jīng)常有香客問我味咳,道長,這世上最難降的妖魔是什么檬嘀? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任槽驶,我火速辦了婚禮,結(jié)果婚禮上鸳兽,老公的妹妹穿的比我還像新娘掂铐。我一直安慰自己,他們只是感情好揍异,可當(dāng)我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布全陨。 她就那樣靜靜地躺著,像睡著了一般衷掷。 火紅的嫁衣襯著肌膚如雪辱姨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天棍鳖,我揣著相機與錄音炮叶,去河邊找鬼。 笑死渡处,一個胖子當(dāng)著我的面吹牛镜悉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播医瘫,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼侣肄,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了醇份?” 一聲冷哼從身側(cè)響起稼锅,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎僚纷,沒想到半個月后矩距,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡怖竭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年锥债,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片痊臭。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡哮肚,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出广匙,到底是詐尸還是另有隱情允趟,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布鸦致,位于F島的核電站潮剪,受9級特大地震影響涣楷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鲁纠,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一总棵、第九天 我趴在偏房一處隱蔽的房頂上張望鳍寂。 院中可真熱鬧改含,春花似錦、人聲如沸迄汛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鞍爱。三九已至鹃觉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間睹逃,已是汗流浹背盗扇。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留沉填,地道東北人疗隶。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像翼闹,于是被迫代替她去往敵國和親斑鼻。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,947評論 2 355

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

  • Kafka入門經(jīng)典教程-Kafka-about云開發(fā) http://www.aboutyun.com/threa...
    葡萄喃喃囈語閱讀 10,831評論 4 54
  • 一猎荠、入門1坚弱、簡介Kafka is a distributed,partitioned,replicated com...
    HxLiang閱讀 3,348評論 0 9
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)关摇,斷路器荒叶,智...
    卡卡羅2017閱讀 134,657評論 18 139
  • ** 今天看了一下kafka官網(wǎng),嘗試著在自己電腦上安裝和配置输虱,然后學(xué)一下官方document些楣。** Introd...
    RainChang閱讀 5,005評論 1 30
  • 一、基本概念 介紹 Kafka是一個分布式的悼瓮、可分區(qū)的戈毒、可復(fù)制的消息系統(tǒng)。它提供了普通消息系統(tǒng)的功能横堡,但具有自己獨...
    ITsupuerlady閱讀 1,631評論 0 9