Kafka 最新版配置及測試

當(dāng)前基于kafaka最新版 kafka_2.12-2.2.1.tgz 進(jìn)行配置 。

官網(wǎng)地址:http://kafka.apache.org/intro

kafka的一些基礎(chǔ)知識 參考:http://www.hechunbo.com/index.php/archives/140.html

  1. 配置java環(huán)境安裝jdk

    參考http://www.hechunbo.com/index.php/archives/132.html

  2. 解壓kafaka

    [root@localhost hcb]# tar -zxvf kafka_2.12-2.2.1.tgz -C /usr/local
    
  1. 啟動(dòng)zookeeper .因?yàn)樽钚掳?已經(jīng)包含有zookeeper 所以不用另外安裝了

    [root@localhost kafka_2.12-2.2.1]# bin/zookeeper-server-start.sh config/zookeeper.properties 
    [2019-06-22 17:47:49,667] INFO Reading configuration from: config/zookeeper.properties (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
    
  2. 重新開一個(gè)連接 忧饭。輸入jps 發(fā)現(xiàn)多了一個(gè)進(jìn)程

    [root@localhost ~]# jps
    3136 Jps
    2842 QuorumPeerMain
    
  3. 啟動(dòng)kafka

    [root@localhost kafka_2.12-2.2.1]# ./bin/kafka-server-start.sh config/server.properties 
    [2019-06-22 17:51:18,786] INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
    [2019-06-22 17:51:20,624] INFO starting (kafka.server.KafkaServer)
    
  4. 再開一個(gè)連接 輸入jps查看當(dāng)前運(yùn)行的進(jìn)程
    發(fā)現(xiàn)多了一個(gè)kafka

    [root@localhost ~]# jps
    3504 Jps
    2842 QuorumPeerMain
    3147 Kafka
    
  5. 創(chuàng)建一個(gè)topic

    [root@localhost kafka_2.12-2.2.1]# bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
    [root@localhost kafka_2.12-2.2.1]# 
    
  6. 查看topic消息

    [root@localhost kafka_2.12-2.2.1]# bin/kafka-topics.sh --list --bootstrap-server localhost:9092
    test
    
  7. 發(fā)送消息 到test

    [root@localhost kafka_2.12-2.2.1]# bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
    hi,>welcome to to kafka    
    >hi ,how are you
    
  8. 消費(fèi)者取消息

    [root@localhost kafka_2.12-2.2.1]#  bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
    hi,welcome to to kafka
    hi ,how are you 
    

    生產(chǎn)者發(fā)送消息以扣,消費(fèi)者有通知 的烁,

    1561197972428
  9. 進(jìn)行多臺機(jī)子測試
    因?yàn)槲覀兪菃闻_機(jī)子,所以把配置文件復(fù)制兩份,更改端口和id配置進(jìn)行第二臺,第三臺的模擬

    1. [root@localhost ~]# cd /usr/local/kafka_2.12-2.2.1/
      [root@localhost kafka_2.12-2.2.1]# cp config/server.properties config/server-1.properties
      [root@localhost kafka_2.12-2.2.1]# cp config/server.properties config/server-2.properties
      

      修改第二臺機(jī)子的配置

      vi config/server-1.properties
      log.dirs=/tmp/kafka-logs-1
      listeners=PLAINTEXT://:9093
      broker.id=1
      
      
![1561198817482](https://upload-images.jianshu.io/upload_images/9129298-90f2d59fb6fee96d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

修改第三臺機(jī)子

```
vi config/server-2.properties
log.dirs=/tmp/kafka-logs-2
listeners=PLAINTEXT://:9094
broker.id=2
```

![1561198876385](https://upload-images.jianshu.io/upload_images/9129298-1ebc35f5697ff16b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  1. 啟動(dòng)新模擬的兩臺服務(wù)器

    [root@localhost kafka_2.12-2.2.1]# bin/kafka-server-start.sh config/server-1.properties 
    [2019-06-22 18:23:56,237] INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
    

    新開連接 繼續(xù)啟動(dòng)第三臺造寝,順便查看下當(dāng)前的進(jìn)程 磕洪。發(fā)現(xiàn)有兩個(gè)kafka存在了

    [root@localhost ~]# jps
    4370 ConsoleProducer
    2842 QuorumPeerMain
    5642 Jps
    3147 Kafka
    4955 ConsoleConsumer
    5278 Kafka
    [root@localhost ~]# cd /usr/local/kafka_2.12-2.2.1/
    ^C[root@localhost kafka_2.12-2.2.1]# bin/kafka-server-start.sh config/server-2.properties 
    [2019-06-22 18:27:31,947] INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
    

    新開一個(gè)連接 吭练,查看下當(dāng)前進(jìn)程 ,三個(gè)kafka正常啟動(dòng)了

    [root@localhost ~]# jps
    4370 ConsoleProducer
    6307 Jps
    2842 QuorumPeerMain
    3147 Kafka
    4955 ConsoleConsumer
    5948 Kafka
    5278 Kafka
    
  2. 創(chuàng)建一個(gè)帶有備份的topic

    [root@localhost kafka_2.12-2.2.1]# bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 3 --partitions 1 --topic my-replication-topic
    
  3. 查看哪個(gè)borke【kafka服務(wù)器】在工作

    [root@localhost kafka_2.12-2.2.1]# bin/kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic my-replication-topic
    Topic:my-replication-topic  PartitionCount:1    ReplicationFactor:3 Configs:segment.bytes=1073741824
        Topic: my-replication-topic Partition: 0    Leader: 1   Replicas: 1,2,0 Isr: 1,2,0
    

    leader:哪個(gè)broker在讀寫

    replicas:當(dāng)前可以正常工作的kafka集群析显。當(dāng)leader掛掉時(shí)會(huì)自動(dòng)替補(bǔ)

    isr:同步消息的列表集合

  4. 查看我們之前創(chuàng)建的topic消息

    當(dāng)時(shí)我們只有一個(gè)kafka服務(wù)器鲫咽。可以看只leader是0谷异,替被和備份的都是0分尸,

    [root@localhost kafka_2.12-2.2.1]# bin/kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic test
    Topic:test  PartitionCount:1    ReplicationFactor:1 Configs:segment.bytes=1073741824
        Topic: test Partition: 0    Leader: 0   Replicas: 0 Isr: 0
    
  5. 在新的topic中發(fā)布新的消息

    [root@localhost kafka_2.12-2.2.1]# bin/kafka-console-producer.sh --broker-list localhost:9092 --topic my-replication-topic
    >message one
    >message two 
    
  6. 消費(fèi)者去獲取消息

    [root@localhost kafka_2.12-2.2.1]# bin/kafka-console-consumer.sh  --bootstrap-server  localhost:9092 --from-beginning --topic my-replication-topic
    message one
    message two
    
  7. 檢查當(dāng)前的leader

    [root@localhost kafka_2.12-2.2.1]# bin/kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic my-replication-topic
    Topic:my-replication-topic  PartitionCount:1    ReplicationFactor:3 Configs:segment.bytes=1073741824
        Topic: my-replication-topic Partition: 0    Leader: 1   Replicas: 1,2,0 Isr: 1,2,0
    
  8. 模擬leader1掛掉以后的狀態(tài)

    把leader1關(guān)掉

    檢查leader1的進(jìn)程

    ps aux 顯示用戶當(dāng)前的所有進(jìn)程 。并根據(jù)grep后面的內(nèi)容進(jìn)行搜索

    用kill殺死相關(guān)進(jìn)程

    [root@localhost kafka_2.12-2.2.1]# ps aux | grep server-1.properties
    root       5278  3.5 20.5 3232460 205560 pts/5  Sl+  18:23   1:06 /usr/local/jdk1.8.0_211/bin/java -Xmx1G
    [root@localhost kafka_2.12-2.2.1]# kill -9 5278
    
  9. 再次檢查當(dāng)前topic的消息

    發(fā)現(xiàn)leader已經(jīng)從1變成了2.

    [root@localhost kafka_2.12-2.2.1]# bin/kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic my-replication-topic
    Topic:my-replication-topic  PartitionCount:1    ReplicationFactor:3 Configs:segment.bytes=1073741824
        Topic: my-replication-topic Partition: 0    Leader: 2   Replicas: 1,2,0 Isr: 2,0
    
  10. 使用kafka connect 導(dǎo)入導(dǎo)出數(shù)據(jù)

    souce connector 從text.txt讀取文件 歹嘹,把內(nèi)容發(fā)送到connect-test., sink connector 從conect-test讀寫消息

    [root@localhost kafka_2.12-2.2.1]# bin/connect-standalone.sh config/connect-standalone.properties config/connect-file-source.properties  config/connect-file-sink.properties 
    [2019-06-22 19:05:55,493] INFO Kafka Connect standalone worker initializing ... (org.apache.kafka.connect.cli.ConnectStandalone:67)
    

    進(jìn)行jps分發(fā)現(xiàn)多了一個(gè)ConnectStandalone的進(jìn)程

    [root@localhost ~]# jps
    4370 ConsoleProducer
    9478 Jps
    9160 ConnectStandalone
    2842 QuorumPeerMain
    3147 Kafka
    4955 ConsoleConsumer
    5948 Kafka
    

    顯示文件內(nèi)容

    more 命令類似 cat 箩绍,不過會(huì)以一頁一頁的形式顯示,更方便使用者逐頁閱讀尺上,

    [root@localhost kafka_2.12-2.2.1]# more test.sink.txt 
    foo
    bar
    

    使用消費(fèi)者控制 臺顯示

    [root@localhost kafka_2.12-2.2.1]# bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic connect-test --from-beginning
    {"schema":{"type":"string","optional":false},"payload":"foo"}
    {"schema":{"type":"string","optional":false},"payload":"bar"}
    

    繼續(xù)測試

    生產(chǎn)者進(jìn)行消息追加

    [root@localhost kafka_2.12-2.2.1]# echo -e "foo\nbarddddaaa\aaaaa\dddd\1\2\2\3" > test.txt
    [root@localhost kafka_2.12-2.2.1]# echo -e "foo\nbarddddaaa\aaaaa\dddd\1\2\2\3\new append" > test.txt
    

    消費(fèi)者進(jìn)行實(shí)時(shí)顯示

    [root@localhost kafka_2.12-2.2.1]# bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic connect-test --from-beginning
    {"schema":{"type":"string","optional":false},"payload":"foo"}
    {"schema":{"type":"string","optional":false},"payload":"bar"}
    {"schema":{"type":"string","optional":false},"payload":"dddd"}
    {"schema":{"type":"string","optional":false},"payload":"aaaaaaad"}
    {"schema":{"type":"string","optional":false},"payload":"dd"}
    ^[[A^[[A^[[B{"schema":{"type":"string","optional":false},"payload":"1\\2\\2\\3"}
    {"schema":{"type":"string","optional":false},"payload":"ew append"}
    
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末材蛛,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子怎抛,更是在濱河造成了極大的恐慌卑吭,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件马绝,死亡現(xiàn)場離奇詭異豆赏,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進(jìn)店門掷邦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來白胀,“玉大人,你說我怎么就攤上這事抚岗∥屏” “怎么了?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵苟跪,是天一觀的道長廷痘。 經(jīng)常有香客問我,道長件已,這世上最難降的妖魔是什么笋额? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮篷扩,結(jié)果婚禮上兄猩,老公的妹妹穿的比我還像新娘。我一直安慰自己鉴未,他們只是感情好枢冤,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著铜秆,像睡著了一般淹真。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上连茧,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天核蘸,我揣著相機(jī)與錄音,去河邊找鬼啸驯。 笑死客扎,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的罚斗。 我是一名探鬼主播徙鱼,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼针姿!你這毒婦竟也來了袱吆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤搓幌,失蹤者是張志新(化名)和其女友劉穎杆故,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體溉愁,經(jīng)...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡处铛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年饲趋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撤蟆。...
    茶點(diǎn)故事閱讀 40,021評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡奕塑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出家肯,到底是詐尸還是另有隱情龄砰,我是刑警寧澤,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布讨衣,位于F島的核電站换棚,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏反镇。R本人自食惡果不足惜固蚤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望歹茶。 院中可真熱鬧夕玩,春花似錦、人聲如沸惊豺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽尸昧。三九已至揩页,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間彻磁,已是汗流浹背碍沐。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留衷蜓,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓尘喝,卻偏偏與公主長得像磁浇,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子朽褪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,974評論 2 355

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