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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

目錄
1. kefka簡介
2. 安裝kafka
3. 部署kafka集群
4. 創建Topic并使用生產者消費者生產消費消息


1. Kafka 簡介

Kafka 是一個高吞吐量的分布式發布訂閱消息系統,解耦了消息生產者和消息消費者。與大數據框架 Spark 配合使用,可以實現數據的實時流處理,目前做大數據相關的項目,都會用到 Kafka 消息系統。

理解 Kafka 的整體架構,可以用現實生活中我們經常做的一件事——收發郵件來做類比。公司中同事之間的郵件交流經常發生,比如小王給小李發郵件,郵件會先被發送到郵件服務器(如新浪郵件服務器),小李可以立即收取郵件,也可以到第二天才收取郵件。

2. 安裝 Kafka

安裝環境:

  • Ubuntu Linux 操作系統
  • xfce 終端

打開 xfce 終端,依次執行如下命令:

#切換到 opt 目錄 cd /opt #下載 Kafka 軟件包到當前目錄中 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的配置文件復制三份,模擬kafka集群

#進入到kafka軟件包的 config 目錄 cd /opt/kafka/config#列出當前 config 文件下的文件,可以看到有個 server.properties 文件 ll #復制 server.properties 文件為 server-1.properties sudo cp server.properties server-1.properties sudo cp #復制 server.properties 文件為 server-2.properties server.properties server-2.properties

在修改這三個配置文件之前,我們需要先啟動 zookeeper ,因為 Kafka 集群使用 Zookeeper 軟件進行元數據信息的同步。在生產環境中,安裝 Kafka 之前,需要先安裝 Zookeeper。基于實驗的目的,本次實驗我們不再單獨安裝 Zookeeper 軟件,而是使用 Kafka 自帶的 Zookeeper 軟件,從功能上講,沒有區別。

啟動 Zookeeper:

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

在新的命令行終端運行命令:

#查看當前運行的 java 進程,如果看到名稱為 QuorumPeerMain 的進程,說明 Zookeeper 啟動成功jps

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

依次運行如下命令:

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

至此,參數修改完成。下一步,啟動 Kafka 集群。上面我們看到的三個 Kafka配置文件(server.properties、 server-1.properties、 server-2.properties),每個配置文件對應 Kafka 集群中一個節點(稱為 Broker)。

依次運行如下命令,啟動 Kafka 集群:

#切換到啟動kafka命令所在目錄 cd /opt/kafka/bin#使用配置文件 server.properties 啟動第一個 Kafka Broker,注意:命令最后的 & 符號表示以后臺進程啟動,啟動完成后,按回車鍵,回到命令行,啟動另一個 Kafka Broker。 ./kafka-server-start.sh ../config/server.properties & #使用配置文件 server-1.properties 啟動第二個 Kafka Broker 。啟動完成后,按回車鍵,回到命令行,啟動另一個 Kafka Broker 。 ./kafka-server-start.sh ../config/server-1.properties & #使用配置文件 server-2.properties 啟動第三個 Kafka Broker。啟動完成后,按回車鍵,回到命令行。 ./kafka-server-start.sh ../config/server-2.properties &#查看當前運行的java進程。如下圖,出現三個 kafka 進程,說明三個 Broker 的 Kafka 集群啟動成功。 jps

4. 創建Topic并使用生產者消費者生產消費消息

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

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

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

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。