應用場景
緩沖作用!!!
# 隊列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 指定了發送消息時的主題