一、前置准备
1、虚拟机4台,CentOS 8系统
2、确保系统已部署Java运行环境
3、确认虚拟机已关闭防火墙
systemctl stop firewalld.service
4、zookeeper版本3.4.6,官网资源
5、对于四台虚拟机我使用zk01、zk02、zk03、zk04作为主机名,如果没有配置下面需要该主机名的地方修改为相应IP即可,
以下所有操作步骤均使在zk04中操作
二、下载解压
创建自定义安装目录,如:/opt/soft/
mkdir /opt/soft
右键点击该资源“复制链接地址”
进入目录并下载zookeeper-3.4.6
cd /opt/soft
wget http://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
解压zookeeper-3.4.6压缩包
tar -xf zookeeper-3.4.6.tar.gz
三、配置修改
进入解压完成后的zookeeper配置目录
cd zookeeper-3.4.6/conf
重命名配置文件
cp zoo_sample.cfg zoo.cfg
编辑配置文件
vi zoo.cfg
修改持久化目录
添加集群节点
创建dataDir目录
mkdir -p /var/soft/zookeeper
进入dataDir目录
cd /var/soft/zookeeper/
创建myid文件,输入“1”即可保存退出
vi myid
四、服务配置
编辑配置文件
vi /etc/profile
添加ZOOKEEPER_HOME=zookeeper目录,并添加到环境变量中,保存退出
重新加载配置文件
source /etc/profile
命令行输入“zk” + "TAB"如果可以显示命令提示,说明配置生效
五、多台虚拟机同步
确保其余三台都已创建/opt/soft、/var/soft/zookeeper路径,才可以向其余三台远程复制相关文件
远程复制zookeeper目录,根据提示输入“yes”以及目标服务器密码即可
scp -r /opt/soft/zookeeper-3.4.6 zk01:/opt/soft/
scp -r /opt/soft/zookeeper-3.4.6 zk02:/opt/soft/
scp -r /opt/soft/zookeeper-3.4.6 zk03:/opt/soft/
远程复制myid文件,复制完成后分别到相应服务器修改myid,使得四个myid文件中内容保证唯一
scp /var/soft/zookeeper/myid zk01:/var/soft/zookeeper
scp /var/soft/zookeeper/myid zk02:/var/soft/zookeeper
scp /var/soft/zookeeper/myid zk03:/var/soft/zookeeper
远程复制/etc/profile文件,由于我使用四台新装服务器演示所以直接远程复制即可,如果实际使用的服务器环境变量中有其它信息,建议手动添加环境变量,不要使用远程复制以防覆盖其他服务器中环境变量信息
scp /etc/profile zk01:/etc/
scp /etc/profile zk02:/etc/
scp /etc/profile zk03:/etc/
复制完成分别重新加载配置文件
source /etc/profile
六、运行测试
前台方式启动zookeeper服务,第一次加载配置文件较慢,且由于先后顺序会出现报错现象都是正常
zkServer.sh start-foreground
分别观察日志文件可知zk04为leader
验证确认集群搭建完毕