單節點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個雞蛋,那要不了一會,消費...