Kafka系列1 Kafka安裝與相關命令

2021-07-25 05:29:27 字數 3033 閱讀 4390

單節點kafka安裝

解壓kafka

執行zookeeper(必須)

執行zookeeper

修改kafka配置檔案

broker.id=0

port=9092

log.dir=/tmp/kafka-logs-0

zookeeper.connect=192.168.60.81:2181,192.168.60.50:2181,192.168.60.82:2181

執行 kafka(必須)

./kafka-server-start.sh  ../config/server.properties

kafka集群安裝

安裝kafka集群

cp config/server.properties config/server-1.properties

cp config/server.properties config/server-2.properties

server-1.properties 修改如下內容

broker.id=1

port=9093

log.dir=/tmp/kafka-logs-1

server-2.properties 修改如下內容

broker.id=2

port=9094

log.dir=/tmp/kafka-logs-2

啟動節點

kafka-server-start.sh config/server-1.properties &

kafka-server-start.sh config/server-2.properties &

測試集群環境中kafka副本與分割槽

建立擁有三個副本的topic

kafka-topics.sh --create --zookeeper 192.168.60.81:2181,192.168.60.50:2181,192.168.60.82:2181 --replication-factor 3 --partitions 3 --topic my-replicated

檢視每個節點的資訊

kafka-topics.sh --describe --zookeeper 192.168.60.81:2181,192.168.60.50:2181,192.168.60.82:2181:2181 --topic my-replicated

topic: my-replicated    partition: 0    leader: 2    replicas: 2,0,1    isr: 2,0,1

topic: my-replicated    partition: 1    leader: 0    replicas: 0,1,2    isr: 0,1,2

topic: my-replicated    partition: 2    leader: 1    replicas: 1,2,0    isr: 1,2,0

leader:負責處理訊息的讀和寫,leader是從所有節點中隨機選擇的.

replicas:列出了所有的副本節點,不管節點是否在服務中.

isr:是正在服務中的節點.

副本功能測試

我們kill 掉.broker 0 作為lead執行

另外乙個節點被選做了leader,雖然最初負責續寫訊息的leader down掉了,但之前的訊息還是可以消費的.

kafka的相關操作

建立topic

./kafka-topics.sh --create  --zookeeper  192.168.60.81:2181,192.168.60.50:2181,192.168.60.82:2181 --replication-factor 1 --partitions 1 --topic gj

./kafka-topics.sh --create  --zookeeper  192.168.60.81:2181,192.168.60.50:2181,192.168.60.82:2181 --replication-factor 1 --partitions 1 --topic gj

檢視目前擁有的topic

./kafka-topics.sh --list --zookeeper 192.168.60.81:2181,192.168.60.50:2181,192.168.60.82:2181

./kafka-topics.sh --describe --zookeeper 192.168.60.81:2181,192.168.60.50:2181,192.168.60.82:2181 --topic gj

刪除topic

刪除topic需要在配置檔案加入   delete.topic.enable=true  否則只是對kafka的topic增加了delete標記,不會真正刪除.

./kafka-topics.sh --delete --topic gj --zookeeper 192.168.60.81:2181,192.168.60.50:2181,192.168.60.82:2181

生產訊息:

./kafka-console-producer.sh --broker-list 192.168.60.21:9092 --topic gj

消費訊息:

./kafka-console-consumer.sh --zookeeper 192.168.60.81:2181,192.168.60.50:2181,192.168.60.82:2181 --topic gujian --from beginning

kafka入門系列1 kafka安裝前準備

提取碼 1dj7 在根目錄下建立tempfile資料夾,然後將zookeeper和kafka上傳到該目錄下並解壓 root localhost tempfile tar xvf zookeeper 3.4.7.tar.gz root localhost tempfile tar xvf kafka ...

1 kafka的相關概念

kafka是乙個分布式的基於發布 訂閱模式的訊息佇列,主要應用於大資料實時處理領域。在kafka中,kafka對訊息的儲存根據topic進行分類,傳送訊息的稱為producer,訊息接收者稱為consumer。乙個server成為乙個broker,kafka依賴zookeeper儲存一些元資料資訊 ...

kafka系列之kafka入門概論 1

舉個例子,生產者消費者,生產者生產雞蛋,消費者消費雞蛋,生產者生產乙個雞蛋,消費者就消費乙個雞蛋,假設消費者消費雞蛋的時候噎住了 系統宕機了 生產者還在生產雞蛋,那新生產的雞蛋就丟失了。再比如生產者很強勁 大交易量的情況 生產者1秒鐘生產100個雞蛋,消費者1秒鐘只能吃50個雞蛋,那要不了一會,消費...