點對點(一對一,消費者消費後立刻清除訊息)
發布、訂閱模式(一對多,消費者消費資料之後不會清除訊息)
producer:訊息生產者,想kafka broker傳送訊息的客戶端
consumer:訊息消費者,想kafka broker取訊息的客戶端
consumer group(cg):消費者組,多個consumer組成。消費者組內每個消費者負責消費不同分割槽的資料,乙個分割槽只能由乙個消費者消費;消費者組之間互不影響
,所有的消費者都屬於某個消費者組,即消費者組是邏輯上的乙個訂閱者
broker:一台kafka伺服器就是乙個broker,乙個集群由多個broker組成。乙個broker可以容納多個topic
topic:可以理解為乙個佇列,生產者和消費者面向的都是乙個topic
partition:為了實現擴充套件性,乙個非常大的topic可以分布到多個broker(即伺服器)上,乙個topic可以分為多個partition
,每個partition是乙個有序的佇列
replica:副本,為保證集群中的某個節點發生故障時,該節點上的partition資料不丟失,且kafka仍然能夠繼續工作
,kafka提供了副本機制,乙個topic的每個分割槽都有若干個副本,乙個leader
和若干個follower
leader:每個分割槽多個副本的主,生產者傳送資料的物件,以及消費者消費資料的物件都是leader
follower:每個分割槽多個副本中的從,實時從leader中同步資料,保持和leader資料的同步。leader發生故障時,某個follower會成為新的follower
# 解壓
tar -zxvf kafka_2.13-2.5.0.tgz
# 建立log資料夾(在kafka目錄下)
mkdir logs
############################
# 修改檔案server.properties
vim config/server.properties
# 1. broker.id(每個伺服器唯一)
broker.id=1
delete.topic.enable=true
# 2. 日誌路徑
log.dirs=/home/soft/kafka/kafka_2.13-2.5.0/logs
# 3. zookeeper路徑
zookeeper.connect=192.168.199.132:2181
# 4. listeners
listeners=plaintext:
# 環境變數
vim /etc/profile
export kafka_home=/home/soft/kafka/kafka_2.13-2.5.0
export path=
$path
:$kafka_home/bin
source /etc/profile
############################
# 啟動
bin/kafka-server-start.sh -daemon config/server.properties
## 在kafka目錄下
# 啟動
bin/kafka-server-start.sh -daemon config/server.properties
# 停止
bin/kafka-server-stop.sh stop
# 檢視該節點在zookeeper下的topic
bin/kafka-topics.sh --zookeeper 192.168.199.132:2181 --list
# 建立topic 名稱+分割槽數+每個分割槽的副本數(leader+follower)
bin/kafka-topics.sh --zookeeper 192.168.199.132:2181 --create --topic first --partitions 3 --replication-factor 2
# 檢視某個topic的詳情(如first)
bin/kafka-topics.sh --zookeeper 192.168.199.132:2181 --describe --topic first
# 刪除某個topic
bin/kafka-topics.sh --zookeeper 192.168.199.132:2181 --delete --topic first
# 修改分割槽數(只能增加不能減少,因為減少了分割槽的資料不好處理,kafka還沒實現)
bin/kafka-topics.sh --zookeeper 192.168.199.132:2181 --topic first --alter --partitions 5
#生產者啟動
bin/kafka-console-producer.sh --topic first --broker-list 192.168.199.132:9092
#消費者監聽(加上 --from-beginning:會把之前的資料都取出來)
bin/kafka-console-consumer.sh --topic first --bootstrap-server 192.168.199.132:9092
kafka概述及基本配置
一 分類 peer to peer 點對點模式。訊息只能被乙個消費者消費,消費者之間是競爭關係 publish subscribe 發布訂閱模式。訊息不會被某個消費者取走,而是被所有的消費者共享 二 作用 解耦。避免了消費者和生產者之間的耦合 消峰限流。能夠有效的降低消費者的負載量 持久化儲存 一 ...
kafka基本操作
一 topic 1.檢視全部topic kafka topics.sh zookeeper localhost 2181 list 2.建立topic,指定分割槽數目和備份因子 kafka topics.sh zookeeper localhost 2181 create topic topic n...
kafka基本操作例項
1 啟動命令 任意節點建立 nohup kafka server start.sh 2 建立topic kafka topics.sh create zookeeper hadoop1 2181,hadoop2 2181,hadoop3 2181 replication factor 3 parti...