快捷搜索: 王者荣耀 脱发

部署高可用zookeeper集群

本文为单机部署3个zookeeper实例

下载安装包

在云服务器上下载一个安装包,可以直接下载,也可以先下载到本地,再通过FTP等上传到云服务器。

解压

把下载的安装包解压

tar zxvf 安装包

解压好的文件挪入单独的目录里,方便操作

mv 安装包 目录

进入zookeeper目录

cd 目录

为实例设置id

在zookeeper官网的使用教程里说“When the server starts up, it knows which server it is by looking for the file myid in the data directory. That file has the contains the server number, in ASCII.”

也就是data目录下需要有一个myid文件用来记录server编号,具体步骤如下:

在目录下创建mydata文件夹

mkdir data

进入data文件夹

cd data

在mydata文件夹下创建myid文件,集群中每个zookeeper实例通过读取此文件确定自己的id

touch myid

在myid文件中输入id

echo "1">>myid

更改配置文件

进入conf目录,添加主配置文件zoo.cfg,并更改其中的内容

cd conf/
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg

编辑配置文件内容。“If you want to test multiple servers on a single machine, specify the servername as localhost with unique quorum & leader election ports (i.e. 2888:3888, 2889:3889, 2890:3890 in the example above) for each server.X in that servers config file. Of course separate _dataDir_s and distinct _clientPort_s are also necessary (in the above replicated example, running on a single localhost, you would still have three config files).”根据官网的提示,配置文件需要修改的部分有server列表、dataDir(data目录的位置)、clientPort(端口)。 如下

注意:此图中的server.2与server.3尚未配置。

至此,一个实例server.1的配置完成了。把此目录复制两份。

cp -r 目录 目录1
cp -r 目录 目录2

分别更改两个实例的/data/myid文件与/conf/zoo.cfg文件

启动zookeeper

分别进入三个zookeeper实例的bin目录下,运行

./zkServer.sh start

查看集群状态

利用下面的指令,在bin目录中查看节点状态

./zkServer.sh status

分析三个节点状态,发现server3和server1是follower,server2是leader

经验分享 程序员 微信小程序 职场和发展