Zookeeper+Kafka集群部署

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