1.下载zookeeper和kafka:
- zk下载地址:http://archive.apache.org/dist/zookeeper/
- kafka下载地址:https://kafka.apache.org/downloads.html
- 本次搭建下载的zk和kafka版本是(zookeeper-3.4.14.tar.gz/kafka_2.11-0.11.0.0.tgz)
服务器环境->准备三台服务器集群
在Hosts文件中建立域名和IP的映射配置(方便解析): vim /etc/hosts
192.168.0.1 master
192.168.0.2 slave1
192.168.0.3 slave2
1.每台服务器配置环境变量
##配置zk和kafka环境变量 [root@kafka-master module]# vim /etc/profile ###配置zk环境 #zookeeper config export ZK_HOME=/opt/module/zookeeper export PATH=$ZK_HOME/bin:$PATH ###配置kafka环境 #kafka config export KAFKA_HOME=/opt/module/kafka export PATH=$PATH:$KAFKA_HOME/bin ###使环境变量立即生效 [root@kafka-master module]# source /etc/profile
本次把zookeeper和kafka的安装目录统一为:/opt/module
Zookeeper搭建集群:
###解压zookeeper: [root@kafka-master module]# tar -zxvf zookeeper-3.4.14.tar.gz ###重命名zookeeper-3.4.14为zookeeper [root@kafka-master module]# mv zookeeper-3.4.14 zookeeper [root@kafka-master module]# cd zookeeper ###重命名zoo_sample.cfg为zoo.cfg [root@kafka-master zookeeper]# mv conf/zoo_sample.cfg zoo.cfg [root@kafka-master zookeeper]# vim conf/zoo.cfg ###修改zoo.cfg配置: # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. # 修改zk数据存储路径 dataDir=/opt/module/zookeeper/data/ #在文件末尾追加以下配置项 #zk cluster server.0=master:2888:3888 server.1=slave1:2888:3888 server.2=slave2:2888:3888 ###新建刚配置的zk存储路径 [root@kafka-master zookeeper]# mkdir data ###新建myid文件并写入[master(0),slave1(1),slave2(2)]并保存 [root@kafka-master zookeeper]# vim data/myid ###配置其他两个服务器,然后依次启动三台机器 master,slave1,slave2 zk启动命令分别为:zkServer.sh start/stop/restart/status 启动完成分别查看三台zk状态: [root@kafka-master zookeeper]# bin/zkServer.sh status [root@kafka-slave-1 zookeeper]# bin/zkServer.sh status [root@kafka-slave-2 zookeeper]# bin/zkServer.sh status slave1被选举称为leader,master和slave2被选为follower。 三台分别显示leader或follower则搭建成功。 zookeeper搭建常见问题:https://chenxitag.com/zookeeper/problem centos firewalld防火墙:https://chenxitag.com/centos/firewalld
Kafka搭建集群:
###解压kafka: [root@kafka-master module]# tar -zxvf kafka_2.11-0.11.0.0.tgz ###重命名kafka_2.11-0.11.0.0为kafka [root@kafka-master module]# mv kafka_2.11-0.11.0.0 kafka [root@kafka-master module]# cd kafka ###修改kafka启动配置文件 [root@kafka-master kafka]# vim config/server.properties ###broker.id不可重复 master:broker.id = 0 slave1:broker.id = 1 slave2:broker.id = 2 ###启动Kafka [root@kafka-master kafka]# bin/kafka-server-start.sh -daemon config/server.properties slave1,slave2机器亦是如此 kafka常用命令:https://chenxitag.com/kafka/cmd