下载Zookeeper请去官方网站下载最新版,地址:https://zookeeper.apache.org/
点击此处进入下载页面
3.7.0是最新版,3.6.3是最新的稳定版,看个人选择,点击红框处下载
下载后请将压缩包上传到集群的每台服务器上去,每一台都上传
将压缩包移动到你想安装的路径下,我这里是 /data/zk,其他路径也可以。
执行解压命令
tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz
得到解压缩的文件夹
进入目录,ls一下,看到的内容如下:
其中bin目录里面主要是脚本,启动和停止服务端,客户端连接都在里面。
conf里面是服务器的配置文件,集群部署需要修改其中的内容
其实现在我们的ZK已经可以运行了,只是会报错。我们可以进入bin目录,执行脚本
./zkServer.sh start
或者
sh ./zkServer.sh start
运行结果如下:
ZK提示我们找不到zoo.cfg这个文件,运行有问题。该文件位于**conf/**目录下面
首先给一张配置解释图:
我们这里重点需要修改的是dataDir这个配置项,该配置项定义了ZK会将数据储存到哪里以及集群工作时唯一ID的定义。
进入conf目录,首先修改配置文件名称,默认的zoo_sample.cfg文件不会被ZK识别,需要修改文件名变成zoo.cfg
mv zoo_sample.cfg zoo.cfg #打开配置文件 vim zoo.cfg
我这里新建了一个zkData文件夹作为数据储存目录,该文件夹位置和名称均可自定义。
修改后保存退出,回到bin目录下面再次启动ZK
出现该提示,则ZK已经正常启动运行。我们查看一下运行状态:
sh zkServer.sh status
目前ZK运行在单机模式下,因为我们还没有配置集群信息,ZK无法与其他服务器建立连接。
配置集群前,先确保集群中每一台服务器均可以正常运行单机版的ZK。
执行运行指令start时,可能会遇到如下报错:
error: JAVA_HOME is not set and java could not be found in PATH.
但是使用指令查看JAVA_HOME地址,却可以看到配置的环境变量,查看指令:
echo $JAVA_HOME
网上有很多方案,比如修改zkEnv.sh里面的内容,强行加入JAVA_HOME路径啥的,其实并不是这个原因,该问题Ubuntu系统下容易遇见。
根本原因是Ubuntu系统使用dash作为系统的默认shell,而非CentOS的bash!
只需要修改系统默认的shell即可!
查看自己系统的默认shell
#查看sh的路径 which sh #查看sh的链接(路径根据上一个指令结果变化,不同系统不一样) ls -l /usr/bin/sh
如果你的结果不是下图的shell,极有可能无法运行!
修改系统shell指向:https://blog.csdn.net/shiji0001/article/details/79569956
pass
查看集群节点角色pass



