kafka搭建與應用案例
阿新 • • 發佈:2020-08-03
目錄
應用場景
緩衝作用!!!
# 佇列Queue
一種特殊的線性表(資料元素首尾相接),特殊之處在於只允許在首部刪除元素和在尾部追加元素(FIFO)。入隊、出隊。
# 訊息佇列MQ
訊息+佇列,儲存訊息的佇列。訊息的傳輸過程中的容器;主要提供生產、消費介面供外部呼叫做資料的儲存和獲取。
叢集搭建-kafka
- 搭建zookeeper
- 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 指定了傳送訊息時的主題