1. 程式人生 > 實用技巧 >kafka搭建與應用案例

kafka搭建與應用案例

目錄

應用場景

緩衝作用!!!

# 佇列Queue 
一種特殊的線性表(資料元素首尾相接),特殊之處在於只允許在首部刪除元素和在尾部追加元素(FIFO)。入隊、出隊。
# 訊息佇列MQ
訊息+佇列,儲存訊息的佇列。訊息的傳輸過程中的容器;主要提供生產、消費介面供外部呼叫做資料的儲存和獲取。

叢集搭建-kafka

cd /export/softwares
tar -zxvf kafka_2.12-2.5.0.tgz -C ../servers/
- 重新命名
mv kafka_2.12-2.5.0 kafka
  • 修改配置
mkdir -p /opt/data/kafka
# 開啟 vim  server.properties
broker.id=11 # 當前kafka例項的id,必須為整數,一個叢集中不可重複
log.dirs=/opt/data/kafka # 生產到kafka資料儲存的目錄,目錄需要手動建立
zookeeper.connect=node01:2181,node02:2181,node03:2181/kafka # kafka資料在zk中的儲存目錄
  • 安裝包分發並修改 broker.id 以及 新增kafka 資料儲存目錄
scp -r /export/servers/kafka/ node02:$PWD
scp -r /export/servers/kafka/ node03:$PWD
  • 修改配置檔案中的 broker.id
broker.id=12
broker.id=13

kafka 操作

cd /export/servers/kafka/bin
# 執行 kafka 服務
kafka-server-start.sh ../config/server.properties &

# 建立主題(指定分割槽和副本數量)
kafka-topics.sh --zookeeper node01:2181 --create --replication-factor 1 --partitions 1  --topic testBB

# 修改topic
kafka-topics.sh --zookeeper node01:2181 --alter --topic covid19_wz --partitions 3

# 列出所有主題
# bin/kafka-topics.sh --zookeeper node01:2181 --list

# 檢視主題詳情
[root@192 kafka_2.12-2.2.1]# bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic testAA

# 刪除主題
kafka-topics.sh  --delete --zookeeper node01:2181  --topic testBB

# 啟動消費端接收訊息
bin/kafka-console-consumer.sh --bootstrap-server node01:9092 --topic testBB

--bootstrap-server 指定了連線kafka叢集的地址
--topic 指定了傳送訊息時的主題

# 啟動生產端釋出訊息
# 釋出訊息
bin/kafka-console-producer.sh --broker-list node01:9092 --topic testAA

--broker-list 指定了連線kafka叢集的地址
--topic 指定了傳送訊息時的主題

kafka-API

kafka-Flume 整合

Kafka 架構及高效能