kafka擴展——單臺Linux Server配置多個kafka broker

Kafka作為高吞吐的消息中間件,在消息大小為100Bytes,吞吐即可達到800kQPS,此外,Kafka的定位為流式處理平臺,以下為Kafka官網的解釋:

Kafka is generally used for two broad classes of applications:

  • Building real-time streaming data pipelines that reliably get data between systems or applications
  • Building real-time streaming applications that transform or react to the streams of data

即主要應用於流式處理平臺。

Kafka的消息處理流程如下:


kafka擴展——單臺Linux Server配置多個kafka broker

簡單理解就是由生產者將消息寫入topic,消費從topic拉取消息,即發佈-訂閱機制。



那麼,如果要每天處理上萬億條消息,單節點是不夠用的,我們要考慮採用分佈式集群,這裡講的是偽集群,即單服務器上開多個節點。

下面開啟Kafka的4個節點:9092-9095

配置比較簡單,修改Kafka配置文件server.properties就可以。

vim server.properties

broker.id=1

listeners=PLAINTEXT://ip:9095


注:每個節點的broker.id與listeners不應相同,下面通過sed命令實現批量修改。

以9095實例為例:

sed -i "s/broker.id=1/broker.id=5/g" server.properties

sed -i "s/9092/9095/g" server.properties

其它節點,也要進行修改。


修改後,執行以下shell腳本以守護進程啟動kafka:

vim start_kafka.sh

#!/bin/bash

for j in $(seq 9092 9095)

do

kafka-server-start.sh -daemon /usr/local/kafka/$j/config/server.properties

j=`expr $j + 1`;

done

這樣,通過netstat就可惜監聽到9092-9095端口了。


分享到:


相關文章: