一、搭建Zookeeper集群
1.下载并且安装zookeeper安装包 zookeeper-3.4.14.tar.gz
2. 解压安装包
tar -zxvf zookeeper-3.4.14.tar.gz
3. 重命名
重命名: mv zookeeper-3.4.14 zookeeper
4.修改zoo_sample.cfg文件
cd /usr/local/zookeeper/conf
mv zoo_sample.cfg zoo.cfg
修改conf: vi zoo.cfg 修改两处
(1) dataDir=/usr/local/zookeeper/data(注意同时在zookeeper创建data目录)
(2)最后面添加
server.0=192.168.73.100:2888:3888
server.1=192.168.74.101:2888:3888
server.2=192.168.73.102.:2888:3888
5.创建服务器标识
服务器标识配置:
创建文件夹: mkdir data
创建文件myid并填写内容为0: vi myid (内容为服务器标识 : 0)另外两台服务器标识分别为1、2
6.启动zookeeper
路径: /usr/local/zookeeper/bin
执行: zkServer.sh start
(注意这里3台机器都要进行启动)
状态: zkServer.sh status(在三个节点上检验zk的mode,一个leader和俩个follower)
二、搭建kafka集群
1.解压下载好的kafka压缩包并重命名
cd /usr/local
wget http://mirror.bit.edu.cn/apache/kafka/1.0.0/kafka_2.12-2.3.0.tgz
tar -zxvf kafka_2.12-2.3.0.tgz
mv kafka_2.12-2.3.0 kafka
2.修改配置文件server.properties
vi ./kafka/config/server.properties
broker0需要修改的内容如下
broker.id=0
listeners=PLAINTEXT://192.168.73.100:9092
zookeeper.connect=192.168.73.100:2181,192.168.73.101:2181,192.168.73.102:2181
vi ./kafka/config/server.properties
broker1需要修改的内容如下
broker.id=0
listeners=PLAINTEXT://192.168.73.101:9092
zookeeper.connect=192.168.73.100:2181,192.168.73.101:2181,192.168.73.102:2181
vi ./kafka/config/server.properties
broker2需要修改的内容如下
broker.id=0
listeners=PLAINTEXT://192.168.73.102:9092
zookeeper.connect=192.168.73.100:2181,192.168.73.101:2181,192.168.73.102:2181
3.在系统环境中配置kafka的路径
vi /etc/profile
// 在文件最下方添加kafka路径
export KAFKA_HOME=/usr/local/kafka
// 多路径PATH写法为PATH=
Z
O
O
K
E
E
P
E
R
H
O
M
E
/
b
i
n
:
{ZOOKEEPER_HOME}/bin:
ZOOKEEPERHOME/bin:{KAFKA_HOME}/bin:
P
A
T
H
P
A
T
H
=
PATH PATH=
PATHPATH={KAFKA_HOME}/bin:$PATH
export PATH
// 使修改完的环境变量生效
source /etc/profile
三、测试kafka集群
1、开启3台虚拟机的zookeeper程序
/usr/local/zookeeper/bin/zkServer.sh start
开启成功后查看zookeeper集群的状态
/usr/local/zookeeper/bin/zkServer.sh status
出现Mode:follower或是Mode:leader则代表成功
2、在后台开启3台虚拟机的kafka程序
cd /usr/local/kafka
./bin/kafka-server-start.sh -daemon config/server.properties
3、测试kafka集群
3.1在192.168.73.100上创建主题及生产者
cd /usr/local/kafka
//创建主题
./bin/kafka-topics.sh --create --zookeeper 192.168.73.100:2181 --replication-factor 1 --partitions 1 --topic test0001
// 查看创建的topic信息
./bin/kafka-topics.sh --list --zookeeper 192.168.73.100:2181
//启动一个生产者,给主题发送消息。
./bin/kafka-console-producer.sh --broker-list 192.168.73.100:9092 --topic test
3.2 在192.168.73.101上,启动一个 consumer
./bin/kafka-console-consumer.sh --bootstrap-server 192.168.73.100:9092 --topic test --from-beginning