Zookeeper集群搭建

我是研究僧i 提交于 2019-11-27 03:15:07

 

注意:Zookeeper集群的机器个数要求是奇数,且不少于3

 

三台机器

 

 192.168.119.150

 

 192.168.119.151

 

 192.168.119.152

 

设置主机名【三台机器】

vim /etc/hostname
wal150
vim /etc/hosts
192.168.119.150 wal150
192.168.119.151 wal151
192.168.119.152 wal152
cd /usr/local/software
scp zookeeper-3.4.6.tar.gz 192.168.119.151:/usr/local/software/
scp zookeeper-3.4.6.tar.gz 192.168.119.152:/usr/local/software/

解压【三台机器】

cd /usr/local/software
tar -zxvf zookeeper-3.4.6.tar.gz -C /usr/local/
cd /usr/local
mv zookeeper-3.4.6/ zookeeper

添加全局环境变量【三台机器】

vim /etc/profile
添加
export ZOOKEEPER_HOME=/usr/local/zookeeper
修改
export PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH
重新加载配置文件
source /etc/profile

修改配置文件【三台机器】

cd /usr/local/zookeeper/conf
mv zoo_sample.cfg zoo.cfg
vim zoo.cfg
修改
dataDir=/usr/local/zookeeper/data
文件末尾添加
server.0=wal150:2888:3888
server.1=wal151:2888:3888
server.2=wal152:2888:3888

服务器标识配置:【三台机器】

vim /usr/local/zookeeper/data/myid

myid文件里的值修改为012 与我们的server.0 server.1 server.2 对应

如图

 

启动zookeeper

路径:/usr/local/zookeeper/bin

因为配置了全局环境变量,所以可以省去路径

执行:zkServer.sh start (注意这里3台机器都要进行启动)

状态:zkServer.sh status(在三个节点上检验zkmode,一个leader和俩个follower)

如图

至此,搭建ok

 

操作zookeeper (shell)

zkCli.sh 进入zookeeper客户端

根据提示命令进行操作:

查找:ls /   ls /zookeeper

创建并赋值:create /bhz hadoop

获取:get /bhz

设值:set /bhz baihezhuo

可以看到zookeeper集群的数据一致性

创建节点有俩种类型:短暂(ephemeral) 持久(persistent

zoo.cfg详解:

tickTime:基本事件单元,以毫秒为单位。这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,

也就是每隔 tickTime时间就会发送一个心跳。

 

initLimit:这个配置项是用来配置 Zookeeper 接受客户端初始化连接时最长能忍受多少个心跳时间间隔数,当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10*2000=20 秒。

 

syncLimit:这个配置项标识 Leader Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 5*2000=10

 

dataDir:存储内存中数据库快照的位置,顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。

 

clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。

 

server.A = B:C:D :

A表示这个是第几号服务器,

B 是这个服务器的 ip 地址;

C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;

D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!