首先说一下Zookeeper的概念:
Zookeeper是一个分布式协调服务;就是为用户的分布式应用程序提供协调服务
A、zookeeper是为别的分布式程序服务的
B、Zookeeper本身就是一个分布式程序(只要有半数以上节点存活,zk就能正常服务)
C、Zookeeper所提供的服务涵盖:主从协调、服务器节点动态上下线、统一配置管理、分布式共享锁、统一名称服务……
D、虽然说可以提供各种服务,但是zookeeper在底层其实只提供了两个功能:
管理(存储,读取)用户程序提交的数据;
并为用户程序提供数据节点监听服务;
Zookeeper常用应用场景:
Dubbo 框架 hadoop集群高可用(ha) hbase solr集群等.....
Zookeeper集群的角色: Leader 和 follower (Observer)
只要集群中有半数以上节点存活,集群就能提供服务
半数机制:集群中半数以上机器存活,集群可用。
zookeeper适合装在奇数台机器上!!!集群最少3台 因为投票机制奥!!! 只要过半就废了
好了废话不多说 进入搭建环节
首先准备好3台装好JDK的虚拟机
准备好上传工具
接下来就该解压了 这个就不截图了
tar -zxvf zookeeper-3.4.5.tar.gz
如果解压不了 看看是不是完整的上传了 不要问我为什么 因为我同学就遇到这种情况了
好了 完成以后 名字不好记 我们就给他改个名字
mv zookeeper-3.4.5 zookeeper
接下来我们要用root账户 修改环境变量
vim /etc/profile
export ZOOKEEPER_HOME=/home/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
然后更新一下 配置文件
source /etc/profile
注意 为了以后方便操作 3台都最好安装在同一个目录 环境变量可以提前给另外2台配置好
接下来修改Zookeeper的配置文件
我们 cd 到 Zookeeper的conf目录下面
然后 进行改名操作 因为它的名字很难打
cp zoo_sample.cfg zoo.cfg
接下来这一步很关键奥
vim zoo.cfg
dataDir=/home/zookeeper/data
dataLogDir=/home/zookeeper/log
server.1=192.168.15.100:2888:3888
server.2=192.168.15.101:2888:3888
server.3=192.168.15.102:2888:3888
保存退出
我们回到Zookeeper的目录下面新建两个文件夹 聪明的你想到是那两个了吗
mkdir -m 755 data
mkdir -m 755 log
完成以后进入data 下面 新建一个myid的文件 并写上id
编辑文件的 时候 server. 后面跟的几 myid里面就写几 三台个不一样 千万不要写错呀
先配置好一台就行 给上命令
echo 1 > myid
OK 差不多完成了 就下来就是把我们配置好的 复制少另外两台机子上
接下来 可能会提示输入 密码 输入就好了 等复制完成后
去另外2台机器修改 data下面的myid 一个为2一个为3
之后启动每台机器
zkServer.sh start
如果环境变量没有配置好 就去安装目录下面 bin 目录 ./zkServer.sh start
启动起来后我们查看一下进程 输入命令 jps
jps 就是查看java的进程 出现以下界面证明启动
下面我们再来看看集群状态 和 主从信息
键入命令 zkServer.sh status 三台都要运行这个命令
好了 搭建完成 是不是很简单呢
登录 | 立即注册