Kafka 完全分布式集群環境搭建


 

思路:

    先在主機s1上安裝配置,然后遠程復制到其它兩台主機s2、s3上,

    並分別修改配置文件server.properties中的broker.id屬性。

 

1、 搭建前准備

示例共三台主機,主機IP映射信息如下:

192.168.32.101 s1
192.168.32.102 s2
192.168.32.103 s3

 

搭建ZooKeeper 集群,搭建步驟參考:

https://www.cnblogs.com/jonban/p/zookeeper.html

 

2、下載 Kafka

下載地址:

https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.2.0/kafka_2.12-2.2.0.tgz

 

3、解壓到 /opt 下

tar -zxvf kafka_2.12-2.2.0.tgz -C /opt/

 

4、配置

進入到安裝目錄

cd /opt/kafka_2.12-2.2.0/

 

創建日志文件目錄

mkdir logs

 

修改配置文件  config/server.properties

vi /opt/kafka_2.12-2.2.0/config/server.properties

修改以下屬性配置

broker.id=1
log.dirs=/opt/kafka_2.12-2.2.0/logs
zookeeper.connect=s1:2181,s2:2181,s3:2181

 

 

5、遠程復制到其它兩台主機s2,s3上

scp -r /opt/kafka_2.12-2.2.0/ root@s2:/opt/
scp -r /opt/kafka_2.12-2.2.0/ root@s3:/opt/

 

登錄主機s2

ssh s2
vi /opt/kafka_2.12-2.2.0/config/server.properties

修改 config/server.properties 中的 broker.id=2

broker.id=2

  

登錄主機s3

ssh s3
vi /opt/kafka_2.12-2.2.0/config/server.properties

修改 config/server.properties 中的 broker.id=3

broker.id=3

  

 

6、配置三台主機環境變量

vi /etc/profile

 

添加如下內容:

export KAFKA_HOME=/opt/kafka_2.12-2.2.0
export PATH=$PATH:$KAFKA_HOME/bin

 

使用source命令使配置立即生效

source /etc/profile

 

 

7、啟動

啟動ZooKeeper 集群

zkServer.sh start

 

啟動Kafka

kafka-server-start.sh -daemon /opt/kafka_2.12-2.2.0/config/server.properties

 

 

8、查看狀態

在三台主機上分別輸入  jps  命令,查看集群狀態,內容如下:

[root@s1 ~]# jps
2852 QuorumPeerMain
3180 Kafka

 

[root@s2 ~]# jps
2788 QuorumPeerMain
3433 Kafka

 

[root@s3 ~]# jps
2791 QuorumPeerMain
3128 Kafka

 

啟動正常!

 

9、測試

創建主題

kafka-topics.sh --create --zookeeper s1:2181,s2:2181,s3:2181 --replication-factor 3 --partitions 3 --topic test

 

查看主題列表

kafka-topics.sh --list --zookeeper s1:2181,s2:2181,s3:2181

 

生產者

kafka-console-producer.sh --broker-list s1:9092,s2:9092,s3:9092 --topic test

 

消費者

kafka-console-consumer.sh --bootstrap-server s1:9092,s2:9092,s3:9092 --from-beginning --topic test

 

 

10、停止kafka服務器,自帶kafka-server-stop.sh 腳本無法正常停止,重寫停止腳本,內容如下:

#!/bin/sh

PIDS=$(ps -ef | grep java | grep kafka | grep -v grep | awk '{print $2}')

for PID in $PIDS
do
    kill -9 $PID
done

echo -e "Stop Finished!\n"

 

執行停止腳本

kafka-server-stop.sh 

 

 

11、Spring boot 集成Kafka 

參考:https://www.cnblogs.com/jonban/p/spring-kafka.html

 

 

Kafka 完全分布式集群環境搭建

.


免責聲明!

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



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