Kafka 基本概述 操作

2021-10-07 01:58:06 字數 3079 閱讀 3303

點對點(一對一,消費者消費後立刻清除訊息)

發布、訂閱模式(一對多,消費者消費資料之後不會清除訊息)

producer:訊息生產者,想kafka broker傳送訊息的客戶端

consumer:訊息消費者,想kafka broker取訊息的客戶端

consumer group(cg):消費者組,多個consumer組成。消費者組內每個消費者負責消費不同分割槽的資料,乙個分割槽只能由乙個消費者消費;消費者組之間互不影響,所有的消費者都屬於某個消費者組,即消費者組是邏輯上的乙個訂閱者broker:一台kafka伺服器就是乙個broker,乙個集群由多個broker組成。乙個broker可以容納多個topic

topic:可以理解為乙個佇列,生產者和消費者面向的都是乙個topicpartition:為了實現擴充套件性,乙個非常大的topic可以分布到多個broker(即伺服器)上,乙個topic可以分為多個partition,每個partition是乙個有序的佇列

replica:副本,為保證集群中的某個節點發生故障時,該節點上的partition資料不丟失,且kafka仍然能夠繼續工作,kafka提供了副本機制,乙個topic的每個分割槽都有若干個副本,乙個leader若干個followerleader:每個分割槽多個副本的主,生產者傳送資料的物件,以及消費者消費資料的物件都是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...