引言
Kafka集群搭建主要分为两步:
- 搭建Zookeeper集群
- 搭建Kafka集群
搭建原理图如下:
集群环境准备:
服务器 | 备注 |
192.168.162.131 | 搭建Zookeeper、Kafka |
192.168.162.132 | 搭建Zookeeper、Kafka |
192.168.162.133 | 搭建Zookeeper、Kafka |
注意:每台服务器节点都要安装jdk1.8环境
1. Zookeeper集群搭建
1.1 「192.168.162.131环境搭建」
1.下载Zookeeper
cd /usr/local wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
2.解压安装包
tar -zxvf zookeeper-3.4.10.tar.gz
3.重命名
mv zookeeper-3.4.10 zookeeper-kafka
4.重命名zoo_sample.cfg文件为zoo.cfg
cd /usr/local/zookeeper-kafka/conf mv zoo_sample.cfg zoo.cfg
5.修改zoo.cfg文件
vi zoo.cfg
6.创建文件夹data
cd /usr/local/zookeeper-kafka/ mkdir data
7.创建文件myid,并填写服务器标志0
vi myid
保存:
:wq
8.关闭防火墙
systemctl stop firewalld.service
1.2 「192.168.162.132、192.168.162.133」环境搭建
步骤1~8环境的搭建都一样,除了第7步myid的填写:
- 服务器
192.168.162.132
的myid填写为1 - 服务器
192.168.162.133
的myid填写为2
1.3 启动测试Zookeeper集群
1.每台服务器启动zookeeper(启动之前务必没有运行之前的zookeeper,因为端口号为2181,不然端口会冲突)
/usr/local/zookeeper-kafka/bin/zkServer.sh start
2.查看状态,可以看到133为主服务器,131、132为从服务器。
/usr/local/zookeeper-kafka/bin/zkServer.sh status
可以看到Zookeeper集群成功!
2. Kafka集群搭建
2.1 「192.168.162.131环境搭建」
1.下载kafka安装包:
cd /usr/local wget https://archive.apache.org/dist/kafka/1.0.0/kafka_2.11-1.0.0.tgz
2.解压安装包并重命名
tar -zxvf kafka_2.11-1.0.0.tgz mv kafka_2.11-1.0.0 kafka
3.修改kafka文件夹里的配置文件
vi /usr/local/kafka/config/server.properties
修改内容:
broker.id=0 listeners=PLAINTEXT://192.168.162.131:9092 zookeeper.connect=192.168.162.131:2181,192.168.162.132:2181,192.168.162.133:2181
2.2 「192.168.162.132、192.168.162.133环境搭建」
剩余两台服务器跟192.168.162.131配置的3个步骤一样,除了第3个步骤,配置不同:
192.168.162.132:
broker.id=1 listeners=PLAINTEXT://192.168.162.132:9092 zookeeper.connect=192.168.162.131:2181,192.168.162.132:2181,192.168.162.133:2181
192.168.162.133:
broker.id=2 listeners=PLAINTEXT://192.168.162.133:9092 zookeeper.connect=192.168.162.131:2181,192.168.162.132:2181,192.168.162.133:2181
2.3 启动测试
1.启动kafka
/usr/local/kafka/bin/kafka-server-start.sh -daemon config/server.properties
2.查看kafka是否启动成功
ps -ef|grep kafka
如果显示如下,表示启动成功:
2.其中一台服务器(192.168.162.131)创建一个名为“test”的topic,它有一个分区和一个副本:
/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
3.现在我们可以运行list命令来查看这个topic(或者,您也可将代理配置为:在发布的topic不存在时,自动创建topic,而不是手动创建):
/usr/local/kafka/bin/kafka-topics.sh --list --zookeeper localhost:2181