Zookeeper - 本地安装与参数配置

目录

零、前置

1.工作机制

2.Zookeeper特点

3.数据结构

一、下载

二、本地安装

1.安装JDK

2.安装Zookeeper

三、运行测试 


很尴尬的一点,手贱把Zookeeper拼错了,大家自己注意一下。。。。当然你也可以选择一直复制我的代码,到搭建集群的时候再带你改回去。

零、前置

1.工作机制

Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。


2.Zookeeper特点

1)Zookeeper:一个领导者(Leader),多个跟随者(Follower)组成的集群。

2)集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。所以Zookeeper适合安装奇数台服务器。

3)全局数据一致:每个Server保存一份相同的数据副本,Client无论连接到哪个Server,数据都是一致的。

4)更新请求顺序执行,来自同一个Client的更新请求按其发送顺序依次执行。

5)数据更新原子性,一次数据更新要么成功,要么失败。

6)实时性,在一定时间范围内,Client能读到最新数据。


3.数据结构

ZooKeeper数据模型的结构与Unix文件系统很类似,整体上可以看作是一棵树,每个节点称做一个ZNode。每一个ZNode默认能够存储1MB的数据,每个ZNode都可以通过其路径唯一标识。


一、下载

下载地址:Apache ZooKeeper

2132f2b8814f4ad0a05d026a7f6034a0.png

 当然咱们在实际环境中不太可能会使用到最新的版本,如果想要找到较老的版本可以点下面的Older releases are available in the archive :

5ea9047e6b14440e8965a3892e2f2845.png

 这里下载的版本是3.5.7,这个版本在实际环境中使用的还是较多的: 

c499161801c04025a4963c57a988d3b8.png

选择下载即可:

3b156ce63cc54d9191a1fbf13b89c272.png


二、本地安装

在安装Zookeeper之前,得先安装好JDK,咱们先来安装JDK:

1.安装JDK

下载JDK:Java Downloads | Oracle

传进Linux后开始安装:

rpm -ivh jdk-8u201-linux-x64.rpm

158be5ef3d3648c3ac1a6b0e49336d2c.png

接着开始配置文件:

vim /etc/profile.d/java.sh

把一下内容粘贴进去,然后保存退出:

export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH

接着刷新一下(切记):

source /etc/profile.d/java.sh 

检查java版本,反馈如下则代表安装成功:

java -version

32c9bd911f194771abf01c49b3dc21d8.png


2.安装Zookeeper

把刚刚下载的Zookeeper安装包传上去:

609f109b037c448dba9cdbad350bb075.png

 opt 目录下创建一个新的目录 module :

mkdir module

接着开始解压:

tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/

然后咱们进到 module 目录看看:

cd /opt/module
ll

e7543ce34bfd4f9e85512a61f3033348.png

这里改了下名字,看着会舒服一些:

mv apache-zookeeper-3.5.7-bin/ zookpeer-3.5.7

进入 conf 目录进行配置,可以看到这里有三个文件,需要进行配置的只有第三个:

cd /opt/module/zookpeer-3.5.7/conf

388109669e9c440ab7b9c6c7b68d56eb.png

咱们给他改个名字然后进行配置:

mv zoo_sample.cfg zoo.cfg

然后咱们 vim 进去改一下:

vim zoo.cfg 

可以看到其内容如下:

# The number of milliseconds of each tick
### 通信心跳时间,Zookeeper服务器与客户端心跳时间,单位毫秒
tickTime=2000

# The number of ticks that the initial 
# synchronization phase can take
### Leader和Follower初始通信时限
### Leader和Follower初始连接时能容忍的最多心跳数(tickTime的数量)
initLimit=10

# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
### Leader和Follower同步通信时限
### Leader和Follower之间通信时间如果超过syncLimit * tickTime,Leader认为Follwer死
掉,从服务器列表中删除Follwer
syncLimit=5

# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
### 保存Zookeeper中的数据
### 默认的tmp目录,容易被Linux系统定期删除,所以一般不用默认的tmp目录
dataDir=/tmp/zookeeper

# the port at which the clients will connect
### 客户端连接端口,通常不做修改
clientPort=2181

可以看到里面的大部分都是注释,其中的参数非常的少,咱们主要来看这一段:

# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/tmp/zookeeper

他说快照文件会存放在这里,不要使用临时目录来存储数据。所以很明显了,咱们得把这里改掉。我们先去创建一个目录:

1f02dacc0bfa4e13bb719587ee754b4f.png

然后把这个目录路径复制下来,填到刚刚的配置文件中然后保存退出:

95fb8a0625a54386b58bb9020d95e645.png


三、运行测试 

修改完毕后回到上一级目录 zookpeer-3.5.7 中,这时候咱们得先启动服务端后再去启动客户端:

bin/zkServer.sh start

启动完成后可以 jps 查看一下进程:

9af54b1300a848678b3f17cc8cfd4042.png

服务端启动后咱们需要启动客户端对其进行访问,这里不需要再加上之前的 start :

bin/zkCli.sh 

启动成功后的样式如下: 

6f7438828ac04241814b4c645e317aa7.png

退出时输入 quit 即可:

quit

434c1004cd0d43e196aaad900086cee9.png

使用以下命令可以查看Zookeeper的进程状态:

bin/zkServer.sh status

216fd9b17ff841c5be3970843ea850dd.png

关闭服务端:

bin/zkServer.sh stop

713e1d9da1084868bb27f0a632d29ce7.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会调制解调的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值