日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Kafka学习 之 第一个例子(一)

發(fā)布時(shí)間:2024/2/28 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Kafka学习 之 第一个例子(一) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄
1. kefka簡(jiǎn)介
2. 安裝kafka
3. 部署kafka集群
4. 創(chuàng)建Topic并使用生產(chǎn)者消費(fèi)者生產(chǎn)消費(fèi)消息


1. Kafka 簡(jiǎn)介

Kafka 是一個(gè)高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),解耦了消息生產(chǎn)者和消息消費(fèi)者。與大數(shù)據(jù)框架 Spark 配合使用,可以實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)流處理,目前做大數(shù)據(jù)相關(guān)的項(xiàng)目,都會(huì)用到 Kafka 消息系統(tǒng)。

理解 Kafka 的整體架構(gòu),可以用現(xiàn)實(shí)生活中我們經(jīng)常做的一件事——收發(fā)郵件來做類比。公司中同事之間的郵件交流經(jīng)常發(fā)生,比如小王給小李發(fā)郵件,郵件會(huì)先被發(fā)送到郵件服務(wù)器(如新浪郵件服務(wù)器),小李可以立即收取郵件,也可以到第二天才收取郵件。

2. 安裝 Kafka

安裝環(huán)境:

  • Ubuntu Linux 操作系統(tǒng)
  • xfce 終端

打開 xfce 終端,依次執(zhí)行如下命令:

#切換到 opt 目錄 cd /opt #下載 Kafka 軟件包到當(dāng)前目錄中 sudo wget http://labfile.oss.aliyuncs.com/courses/859/kafka_2.10-0.10.2.1.tgz

接著解壓并重命名安裝包:

#解壓 Kafka 軟件包 sudo tar –zxvf kafka_2.10-0.10.2.1.tgz #重命名 Kafka 軟件包文件夾名稱為 kafka sudo mv kafka_2.10-0.10.2.1 kafka

3. 部署Kafka集群

接著將kafka的配置文件復(fù)制三份,模擬kafka集群

#進(jìn)入到kafka軟件包的 config 目錄 cd /opt/kafka/config#列出當(dāng)前 config 文件下的文件,可以看到有個(gè) server.properties 文件 ll #復(fù)制 server.properties 文件為 server-1.properties sudo cp server.properties server-1.properties sudo cp #復(fù)制 server.properties 文件為 server-2.properties server.properties server-2.properties

在修改這三個(gè)配置文件之前,我們需要先啟動(dòng) zookeeper ,因?yàn)?Kafka 集群使用 Zookeeper 軟件進(jìn)行元數(shù)據(jù)信息的同步。在生產(chǎn)環(huán)境中,安裝 Kafka 之前,需要先安裝 Zookeeper。基于實(shí)驗(yàn)的目的,本次實(shí)驗(yàn)我們不再單獨(dú)安裝 Zookeeper 軟件,而是使用 Kafka 自帶的 Zookeeper 軟件,從功能上講,沒有區(qū)別。

啟動(dòng) Zookeeper:

#將kafka目錄的執(zhí)行權(quán)限授予當(dāng)前用戶 sudo chmod 777 -R /opt/kafka#切換到啟動(dòng) Zookeeper 命令所在的目錄 cd /opt/kafka/bin#使用上級(jí)目錄中的 config 目錄中的 zookeeper.perperties 配置文件,運(yùn)行當(dāng)前目錄下的 zookeeper-server-start.sh 命令,啟動(dòng) Kafka 軟件包自帶的 Zookeeper ./zookeeper-server-start.sh ../config/zookeeper.properties

在新的命令行終端運(yùn)行命令:

#查看當(dāng)前運(yùn)行的 java 進(jìn)程,如果看到名稱為 QuorumPeerMain 的進(jìn)程,說明 Zookeeper 啟動(dòng)成功jps

下面在新的命令行終端中編輯 Kafka 的三個(gè)配置文件(server.properties、 server-1.properties、server-2.properties),修改文件名和修改內(nèi)容說明如下:

依次運(yùn)行如下命令:

#切換到配置文件所在目錄 cd /opt/kafka/config #編輯 server-1.properties,編輯界面如下圖所示。按上面的說明,修改相應(yīng)參數(shù),保存文件。 vi server-1.properties# 同理,按上述表格中描述,編輯 server-2.properties 文件 vi server-2.properties

至此,參數(shù)修改完成。下一步,啟動(dòng) Kafka 集群。上面我們看到的三個(gè) Kafka配置文件(server.properties、 server-1.properties、 server-2.properties),每個(gè)配置文件對(duì)應(yīng) Kafka 集群中一個(gè)節(jié)點(diǎn)(稱為 Broker)。

依次運(yùn)行如下命令,啟動(dòng) Kafka 集群:

#切換到啟動(dòng)kafka命令所在目錄 cd /opt/kafka/bin#使用配置文件 server.properties 啟動(dòng)第一個(gè) Kafka Broker,注意:命令最后的 & 符號(hào)表示以后臺(tái)進(jìn)程啟動(dòng),啟動(dòng)完成后,按回車鍵,回到命令行,啟動(dòng)另一個(gè) Kafka Broker。 ./kafka-server-start.sh ../config/server.properties & #使用配置文件 server-1.properties 啟動(dòng)第二個(gè) Kafka Broker 。啟動(dòng)完成后,按回車鍵,回到命令行,啟動(dòng)另一個(gè) Kafka Broker 。 ./kafka-server-start.sh ../config/server-1.properties & #使用配置文件 server-2.properties 啟動(dòng)第三個(gè) Kafka Broker。啟動(dòng)完成后,按回車鍵,回到命令行。 ./kafka-server-start.sh ../config/server-2.properties &#查看當(dāng)前運(yùn)行的java進(jìn)程。如下圖,出現(xiàn)三個(gè) kafka 進(jìn)程,說明三個(gè) Broker 的 Kafka 集群?jiǎn)?dòng)成功。 jps

4. 創(chuàng)建Topic并使用生產(chǎn)者消費(fèi)者生產(chǎn)消費(fèi)消息

  • 在 /opt/kafka/bin 目錄下運(yùn)行命令創(chuàng)建一個(gè)名為 myFirstTopic 的 Topic,命令中的參數(shù)含義我們下一節(jié)中具體介紹
  • ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic myFirstTopic
  • 在 /opt/kafka/bin 目錄下運(yùn)行命令,查看 Topic 創(chuàng)建是否成功:
  • ./kafka-topics.sh --zookeeper localhost:2181 -list

  • 在 /opt/kafka/bin 目錄下運(yùn)行命令,啟動(dòng)消息生產(chǎn)者,用于向 Topic 發(fā)送消息:
  • ./kafka-console-producer.sh --broker-list localhost:9092 --topic myFirstTopic
  • 重新打開一個(gè)新的命令行終端,在 /opt/kafka/bin 目錄下運(yùn)行命令,啟動(dòng)消息消費(fèi)者,用于從 Topic 中讀取消息
  • ./kafka-console-consumer.sh -–bootstrap-server localhost:9092 --topic myFirstTopic
  • 在消息生產(chǎn)者所在命令行終端中輸入 hello kafka ,然后按回車鍵,消息發(fā)送到 Topic 。此時(shí)在消息消費(fèi)者所在的命令行中,可以看到 hello kafka 消息已經(jīng)收到了。
  • 總結(jié)

    以上是生活随笔為你收集整理的Kafka学习 之 第一个例子(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。