Centos7環境下 Kafka安裝及配置


前言

本教程是在同一台Linux服務器上搭建三個節點Kafka集群,Zookeeper是使用單獨安裝的(安裝教程),同學們也可以使用Kafka中自帶的Zookeeper(可網上查詢)。

 

一.下載

wget https://mirrors.bfsu.edu.cn/apache/kafka/2.7.0/kafka_2.12-2.7.0.tgz

    

二.解壓並復制到指定目錄(通常放在/usr/local),並重命名為kafka0

tar -zvxf kafka_2.12-2.7.0.tgz -C /usr/local/
cd /usr/local
mv kafka_2.12-2.7.0 kafka0

 

三.配置

kafka配置文件:/usr/local/kafka0/config/server.properties

vim /usr/local/kafka0/config/server.properties

 

broker.id是kafka broker的編號,集群里每個broker的id需不同,默認為0,如果使用集群,遞增該編號即可。

  

如果允許外網訪問,需要配置 advertised.listeners=PLAINTEXT://<公網IP>:9092

listeners=PLAINTEXT://<內網IP>:9092

注意:外網訪問

listeners=PLAINTEXT://<內網IP>:9092
advertised.listeners=PLAINTEXT://<公網IP>:9092

    

設置Zookeeper地址,如果Zookeeper采用了集群模式,多個地址間使用英文逗號隔開

 

num.partitions 為新建Topic的默認Partition(分區)數量,默認為1,partition數量提升,一定程度上可以提升並發性

 

日志存放位置,如果kafka集群分布在不同機器上,日志存在位置可以保持默認,如果同一機器,需要配置成不同的目錄

若目錄不存在,則創建相應的目錄

cd /usr/local/kafka0
mkdir logs

 

內部topic配置,為保證消息的高可用,建議副本集大於1(副本集數要<=broker數(集群),本案例是三節點,故設置為3)

default.replication.factor為kafka保存消息的副本數,如果一個副本失效了,另一個還可以繼續提供服務,是在自動創建topic時的默認副本數

 

四.其余兩個節點安裝配置

根據kafka0復制兩份,分別命名為kafka1,kafka2,並對配置文件做相應修改,  尤其是brokerid、IP地址和日志目錄。 

 

 五.啟動及停止(以kafka0為例,其余節點相似)

1.啟動:

cd /usr/local/kafka0
bin/kafka-server-start.sh -daemon config/server.properties

判斷是否啟動成功:

方法一:

查看啟動日志,如有started字樣說明啟動成功:

cat logs/kafkaServer.out 

如果機器內存不夠,會報內存不足。

可以編輯

bin/kafka-server-start.sh

修改 export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" 

為 export KAFKA_HEAP_OPTS="-Xmx512M -Xms256M"

 

 

 方法二:使用jps命令,如有kafka字樣,說明啟動成功。

 

 

 2.停止

bin/kafka-server-stop.sh -daemon config/server.properties

 

六.測試(以下測試是在只有一個broker環境下進行,機器配置太低了,起不了三個broker

1. 創建topic,名為test

 bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

 

 

2.查看主題列表

bin/kafka-topics.sh --list --zookeeper localhost:2181

 

3.查看特定主題

bin/kafka-topics.sh --zookeeper localhost:2181 --describe test

 

4.發消息

bin/kafka-console-producer.sh --broker-list 101.132.236.198:9092 --topic test

 

5.接收消息

kafka0]# bin/kafka-console-consumer.sh --bootstrap-server 101.132.236.198:9092 --topic test --from-beginning

 

6.刪除主題

bin/kafka-topics.sh --zookeeper localhost:2181 --delete  --topic test

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM