目录
前提条件:三台虚拟机都需要有JDK环境 可以先用java -version先查看一下
1 下载
zookeeper压缩包有两种下载方式
1 用wget,命令直接在系统中下载,命令如下
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
2 从官网下载到本机中,再用xftp上传到Linux系统中
官网地址如下:Apache ZooKeeperhttps://zookeeper.apache.org/releases.html
2 解压
首先进入到存放zookeeper压缩文件的目录下
用解压命令解压文件到指定目录
tar -zvxf zookeeper-3.4.10.tar.gz -C ../servers/
解压完成后到存放目录中,给zookeeper改个名,
mv zookeeper-3.4.10/ zookeeper
3 修改配置文件
进入到zookeeper中的conf文件夹中,复制一份zoo_sample.cfg 名为zoo.cfg
输入完成之后 ESC :wq 保存退出
在zookeeper路径下,新建一个zkdata文件夹。输入命令 mkdir zkdata
进入zkdata中,输入 echo 1 > myid,这里对应的就是服务器的编号,同样就是zoo.cfg配置文件中的server.1中的1。在node02中对应的就是2,也就是输入echo 2 > myid 。同样的node03同理。
4 配置环境变量
输入 vi /etc/profile
在文件最底下输入配置内容。
export ZOOKEEPER_HOME=/root/export/servers/zookeeper
export PATH=:$ZOOKEEPER_HOME/bin:$PATH
输入完成之后 ESC :wq 保存退出
刷新环境变量 source /etc/profile
验证环境变量是否生效,在任意目录下输入 zkS 然后直接用Tab键补全,如果能补全就证明已经生效。
5 分发node02 node03
scp -r export/servers/zookeeper/ node02:export/servers/
scp -r export/servers/zookeeper/ node03:export/servers/
执行这两条命令就可以将我们配置好的zookeeper分发到node02和node03中了,这里的路径根据自己的情况修改
然后再把环境变量分发过去,执行
scp -r /etc/profile node02:/etc/profile
scp -r /etc/profile node03:/etc/profile
分别在node02 node03 输入
source /etc/profile
刷新一下环境变量
6 修改node02和node03中的myid文件
切换到node02的选项卡里
cd servers/zookeeper/zkdata/
vi myid
将里面的1 改成2 保存退出
node3中同理,修改成3即可
7 关闭防火墙
systemctl status firewalld 查看当前防火墙状态
systemctl stop firewalld 关闭防火墙
systemctl disable firewalld 永久关闭防火墙(禁止开机自启)
8 启动zookeeper
三台主机都输入
zkServer.sh start
都输入完成之后,在输入
zkServer.sh status
查看当前主机状态
9 可能出现的问题
Error contacting service. It is probably not running.
问题可能是:
1 三台主机的JDK服务问题
2 conf目录下的zoo.cfg配置文件的内容问题
3 etc/profile中的问题,比如没分发,没刷新
4 zkdata中的myid没有改
5 防火墙没有关闭