linux環境kafka的安裝和使用

安裝

  • 打開官網,複製鏈接(kafka官網
    在這裏插入圖片描述
  • 下載kafka壓縮包
wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.4.0/kafka_2.13-2.4.0.tgz 
  • 解壓kafka到指定目錄(這裏指定到/usr/kafka,自行修改)
tar -zxvf kafka_2.13-2.4.0.tgz -C /usr/kafka
  • 修改server.properties
    broker的含義:Kafka集羣包含一個或多個服務器,每個服務器節點都被稱爲broker,每個broker都有唯一的id值用來區分,Kafka在啓動時會在zookeeper中/brokers/ids路徑下創建一個以當前broker的id爲名稱的節點,當broker下線時,該節點會自動刪除,其他broker或客戶端通過判斷/brokers/ids路徑下是否有此broker的id來確定該broker是否存在。
#找到broker.id並修改爲1(如果是多個kafka服務,需配置不同broker.id作爲標識)
broker.id=1
找到log.dirs並修改爲指定路徑(自行修改)
#以後kafka產生的日誌都會存在此路徑
log.dirs=/usr/kafka/kafka_log

使用

  • 啓動zookeeper(Kafka使用了Zookeeper來進行所有Broker的管理,節點路徑爲/brokers/ids)
進入到kafka_2.13-2.0目錄之下,輸入以下命令啓動zookeeper
# -daemon爲以後臺的方式啓動、後面意思是指定以config/zookeeper.properties的配置來啓動
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties 

在這裏插入圖片描述

  • 啓動kafka
#查看zookeeper是否啓動,如果出現QuorumPeerMain表示已啓動
jps
# 後跟config/server.properties表示爲以該配置來啓動服務
bin/kafka-server-start.sh config/server.properties 

在這裏插入圖片描述

  • 創建主題topic(topic爲類別屬性,來劃分數據的所屬類,可以理解爲數據庫的一張表,topic的名字就是表的名字)
# --create爲創建
# --zookeeper localhost:2181爲指定zookeeper的地址(這裏爲本地,非本地需指定ip,zk的默認端口爲2181)
# -replication-factor 1 爲指定副本的個數(partition的副本,consumer並不會從副本中消費數據,而是爲了防止數據丟失)
# --partitions 1 爲指定分區個數(topic的數據被分割成一個或多個partition,topic至少有一個partition)
# --topic qixingcxy_test1 指定topic的名字爲qixingcxy_test1
bin/kafka-topics.sh --create --zookeeper localhost:2181 -replication-factor 1 --partitions 1 --topic qixingcxy_test1

在這裏插入圖片描述

  • 刪除主題topic
bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic qixingcxy_test1
  • 查看當前系統中所有的topic
bin/kafka-topics.sh --list --zookeeper localhost:2181

在這裏插入圖片描述

  • 啓動生產者producer
# --broker-list localhost:9092 爲連接對應的broker(這裏連接的是本地端口爲9092的broker服務,可指定ip連接指定的broker)
# --topic qixingcxy_test1 指定把消息生產到哪個topic中
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic qixingcxy_test1

在這裏插入圖片描述

  • 啓動消費者
# --bootstrap-server localhost:9092 指定從哪個broker中拉取消息,(當我們連接到任意一個Broker後,
# 我們就已經連接到了整個Kafka集羣,我們連接的第一個Broker稱之爲Bootstrap Broker)
# --from-beginning 表示從頭開始讀取
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic qixingcxy_test1 --from-beginning

在這裏插入圖片描述

  • 測試
    producer生產數據
    在這裏插入圖片描述
    consumer消費數據
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章