CentOS 7部署Kafka和Kafka集群
注意事項
需要啟動多個shell腳本交互客戶端進行驗證,運行中的客戶端不要停止。
准備工作:##
安裝java並設置java環境變量,在`/etc/profile`中加入
export JAVA_HOME=/usr/java/jdk1.8.0_65
export PATH=$PATH:$JAVA_HOME/bin
安裝kafka
-
下載:
wget http://mirrors.cnnic.cn/apache/kafka/0.10.0.1/kafka_2.10-0.10.0.1.tgz
-
解壓:
tar -zxvf kafka_2.10-0.10.0.1.tgz
-
移動到指定目錄:
mv kafka_2.10-0.10.0.1 /usr/local/kafka
功能驗證
- 啟動
zookeeper
/usr/local/kafka/bin/zookeeper-server-start.sh -daemon /usr/local/kafka/config/zookeeper.properties
- 啟動
kafka
服務
/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
- 創建topic
/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
- 產生消息
/usr/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
輸入以下內容:
Hello world!
Hello Kafka!
- 消費消息
/usr/local/kafka/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
如果能正常接收消息,則說明kafka配置成功
集群配置
單機多broker 集群配置
利用單節點部署多個broker。 不同的broker 設置不同的 id,監聽端口及日志目錄。 例如:
cp /usr/local/kafka/config/server.properties /usr/local/kafka/config/server-1.properties
編輯配置:
config/server-1.properties:
broker.id=1
port=9093
log.dir=/tmp/kafka-logs-1
啟動Kafka服務:
bin/kafka-server-start.sh config/server-1.properties &
啟動多個服務,按上文類似方式產生和消費消息。
多機多broker 集群配置
分別在多個節點按上述方式安裝Kafka,配置啟動多個Zookeeper 實例。 例如: 在10.4.253.22,10.4.253.23,10.4.253.24三台機器部署,Zookeeper配置如下:
initLimit=5
syncLimit=2
server.1=10.4.253.22:2888:3888
server.2=10.4.253.23:2888:3888
server.3=10.4.253.24:2888:3888
分別配置多個機器上的Kafka服務 設置不同的broke id,zookeeper.connect設置如下:
zookeeper.connect=10.4.253.22:2181,10.4.253.23:2181,10.4.253.24:2181
啟動Zookeeper與Kafka服務,按上文方式產生和消費消息,驗證集群功能。
參考文檔: