1、主机历史版本清理
因服务器之前安装过zookeeper和kafka,不确定是否会对新装服务产生影响,为避免对新装集群产生冲突,故将原来文件备份到其他服务器,然后本机删除。
原有路径:各主机均在 /data/opt/下
备份路径:xx.xxx.xx.xxx:/data/******/kafka_bak/
2、安装包下载
本次下载zookeeper版本为3.4.14,Kafka版本为2.12-2.5.1
Zookeeper下载路径:https://mirrors.cnnic.cn/apache/zookeeper/
Kafka下载路径:http://kafka.apache.org/downloads
3、服务器准备
本次为集群式搭建,预计新业务数据量不是很大,故准备服务器3台
创建用户
[xxxxxx@xxxxxx]sudo useradd usertest
[xxxxxx@xxxxxx]sudo passwd usertset
密码: passwd
创建文件夹(为后续做准备)
[usertest@xxxxxx]cd /data
[usertest@xxxxxx data]mkdir test_data
[usertest@xxxxxx data]cd test_data
[usertest@xxxxxx test_data]mkdir zookeeper --为存放zookeeper数据、日志文件做准备
[usertest@xxxxxx test_data]cd zookeeper
[usertest@xxxxxx zookeeper]mkdir zkdata --存放zookeeper数据文件
[usertest@xxxxxx zookeeper]mkdir zkdatalog --存放zookeeper日志文件
[usertest@xxxxxx zookeeper]cd ../../
[usertest@xxxxxx data]chown -R usertest:usertest test_data/ --新建文件夹赋权给usertest用户
[usertest@xxxxxx data]cd /data/test_data/kafka
[usertest@xxxxxx kafka]mkdir kafkalogs --存放Kafka日志文件
4、安装zookeeper
下面的操作为:3台服务器统一操作
解压:将zookeeper安装包放到usertest家目录,然后解压
[usertest@xxxxxx]cd /home/usertest
[usertest@xxxxxx]tar -zxvf zookeeper-3.4.14.tar.gz --解压压缩包
修改配置文件:解压之后切到conf路径,将配置文件 zoo_sample.cfg 重命名为 zoo.cfg,然后修改配置文件
[usertest@xxxxxx]cd zookeeper-3.4.14/conf/
[usertest@xxxxxx conf]pwd
/home/usertest/zookeeper-3.4.14/conf
[usertest@xxxxxx conf]ll
total 12
-rw-------. 1 usertest usertest 535 Mar 6 2019 configuration.xsl
-rw-------. 1 usertest usertest 2161 Mar 6 2019 log4j.properties
-rw-------. 1 usertest usertest 1104 Sep 21 14:03 zoo_sample.cfg
[usertest@xxxxxx conf]mv zoo_sample.cfg zoo.cfg
[usertest@xxxxxx conf]vi zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/data/test_data/zookeeper/zkdata
dataLogDir=/data/test_data/zookeeper/zkdatalog
# the port at which the clients will connect
clientPort=12181 --默认端口为2181,这里设置监听端口为10081
server.1=10.xxx.xx.xxx:12888:12888 --默认端口为2888:3888
server.2=10.xxx.xx.xxx:12888:13888
server.3=10.xxx.xx.xxx:12888:13888
-------------------------------
#配置参数解读:server.A=B:C:D 例如:server.1=10.xxx.xx.xxx:12888:12888
#A 是一个数字,表示这个是第几号服务器;
#集群模式下配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面有一个数据就是 A 的值,Zookeeper 启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是哪个 server。
#B 是这个服务器的地址;
#C 是这个服务器 Follower 与集群中的 Leader 服务器交换信息的端口;
#D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
-------------------------------
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
创建myid文件
切到数据文件存放路径
[usertest@xxxxxx conf]cd /data/test_data/zookeeper/zkdata
[usertest@xxxxxx zkdata]echo "1" >myid
[usertest@xxxxxx zkdata]ll
-rw-------. 1 usertest usertest 2 Sep 21 10:49 myid
[usertest@xxxxxx zkdata]cat myid
1
--------
三台主机分别在各自主机的数据文件存放路径执行
echo "1" >myid
echo "2" >myid
echo "3" >myid
配置环境变量
vi .bash_profile
--添加内容
export ZOOKEEPER_HOME=/home/usertest/zookeeper-3.4.14
export PATH=$PATH:$ZOOKEEPER_HOME/bin
--保存退出,使环境变量生效
source .bash_profile
启动服务并查看
[usertest@xxxxxx]cd /home/usertest/zookeeper-3.4.14/bin
[usertest@xxxxxx bin]./zkServer.sh start (3台都需要执行)
--检查服务状态
[usertest@xxxxxx bin]./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/usertest/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: follower
--三台节点,其中一台为leader,另两台均为follower
5、安装Kafka
下面的操作为:3台服务器统一操作
解压:将Kafka安装包放到usertest家目录,然后解压
[usertest@xxxxxx]cd /home/usertest
[usertest@xxxxxx]tar -zxvf kafka_2.12-2.5.1.tgz --解压压缩包
修改配置文件:解压之后切到config路径
[usertest@xxxxxx]cd /home/testuser/kafka_2.12-2