Zookeeper3.4.5集群搭建
【有问题或错误,请私信我将及时改正;借鉴文章标明出处,谢谢】
参考链接:
哔哩哔哩硅谷分布式安装
本次安装zookeeper 3.4.5版本
1.下载并上传
到官网进行下载
上传至liunx下,此次路径为根目录soft下
2.解压并创建软连接
cd /soft #进入soft目录下
tar -xzvf zookeeper-3.4.5.tar.gz #解压文件
ln -s zookeeper-3.4.5 zookeeper #创建软链接
3.配置环境变量
vi /etc/profile #配置环境变量如下(在文件最后添加)
{
export ZOOKEEPER_HOME=/soft/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
}
4.生效profile文件
source /etc/profile
5.修改配置文件
(1)创建一个文件夹作为存储对内存数据库更新操作的事务日志
mkdir /soft/zookeeper/log
(2)创建另一个文件夹作为数据文件的存储
mkdir /soft/zookeeper/zkData
zookeeper的持久化都存储在这两个目录里。dataLogDir里是放到的顺序日志(WAL)。而dataDir里放的是内存数据结构的snapshot,便于快速恢复。
(2)修改zoo.cfg文件
cd /soft/zookeeper/conf
cp zoo.sample.cfg zoo.cfg
vi zoo.cfg
{
dataDir=/soft/zookeeper/zkData(文件内有dataDir自行修改为自己创建的目录)
dataLogDir=/soft/zookeeper/log
#在文件末尾添加如下内容
server.0=192.168.80.11:2888:3888
server.1=192.168.80.12:2888:3888
server.2=192.168.80.13:2888:3888
}
配置参数解读
server.A=B:C:D。
A是一个数字,表示这个是第几号服务器;
集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。
B是这个服务器的ip地址;
C是这个服务器与集群中的Leader服务器交换信息的端口;
D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
(3)在上面创建好zkData文件下创建myid文本
vi /soft/zookeeper/zkData/myid
{
0(每个虚机都写一个唯一的字母标识)
}
注意:一会从做的一台虚机分发到其他台虚机上文件必须改myid文本内的值
与配置的zoo.cfg中末尾的配置有关联,server.后面的值必须和“=”后ip地址中的myid值保持一致。这里配置的3台虚机myid值分别是0,1,2
6.分发配置过的文件到其他虚机
(1)分发配置文件
scp -r /etc/profile root@slave1:/etc/profile
scp -r /etc/profile root@slave2:/etc/profile
分发完后每台虚机都生效文件
source /etc/profile
(2)分发zookeeper
scp -r /soft/zookeeper root@slave1:/soft/zookeeper
scp -r /soft/zookeeper root@slave1:/soft/zookeeper
分发完之后分别进入两台虚机修改myid值操作
cd /soft/zookeeper/zkData/
vi /myid
{
1(另一台虚拟机配置成2)
}
7.测试
(1)在三台虚拟机上分别执行命令: zkServer.sh start
(2)查看节点进程:jps
(3)查看zookeeper集群运行的状态,三台虚拟机分别运行下面命令
zkServer.sh status #只有一个虚拟机为leader其余虚拟机均为follower
【有问题或错误,请私信我将及时改正;借鉴文章标明出处,谢谢】