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 完全分布式集群环境搭建

.

posted @ 2019-05-11 20:09  诚信天下  阅读(1736)  评论(0编辑  收藏  举报