ZooKeeper的介绍、搭建及简单使用
ZooKeeper的介绍、搭建及简单使用
一、ZooKeeper简洁
1、zookeeper简介
动物管理员
Apache ZooKeeper致力于开发和维护开源服务器,实现高度可靠的分布式协调。
2、什么是ZooKeeper?
ZooKeeper是一种集中式服务,用于维护配置信息,命名,提供分布式同步和提供组服务。所有这
些类型的服务都以分布式应用程序的某种形式使用。每次实施它们都需要做很多工作来修复不可避
免的错误和竞争条件。由于难以实现这些类型的服务,应用程序最初通常会吝啬它们,这使得它们
在变化的情况下变得脆弱并且难以管理。即使正确完成,这些服务的不同实现也会在部署应用程序
时导致管理复杂性。
3、zookeeper功能
(1)存储数据
(2)监听
4、zookeeper工作机制
基于观察者模式设计的分布式服务管理框架
5、zookeeper的存储结构
目录树结构
6、zookeeper应用场景
(1)集群统一配置管理
(2)集群统一命名服务
(3)集群统一管理
(4)服务器的动态上下线感知
(5)负载均衡
7、ZooKeeper集群中的节点一般为奇数个(>=3)
2、HDFS的HA(High Available:高可用)
凡是用到HA的地方都有ZK的踪影
(1)高可用需要考虑的两点:
主备切换(当主节点故障了,备节点变成主节点)
元数据同步
(2)zk:指zookeeper,负责协调,监控
(3)在ZK中没有SNN
二、ZooKeeper的搭建
1、上传安装包到master并解压
切换到压缩包所在的目录,然后解压
tar -xvf zookeeper-3.4.6.tar.gz
2、配置环境变量
先切换到该目录:cd zookeeper-3.4.6/
vim /etc/profile
ZOOKEEPER_HOME=/usr/local/soft/zookeeper-3.4.6
$ZOOKEEPER_HOME/bin
source /etc/profile
3、修改配置文件
cd conf/
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
修改
dataDir=/usr/local/soft/zookeeper-3.4.6/data
脚本最低端增加
server.0=master:2888:3888
server.1=node1:2888:3888
server.2=node2:2888:3888
4、新建data目录
切换到目录zookeeper-3.4.6中
mkdir data
cd data
touch myid
5、同步到其它节点
切换到目录packages中
scp -r zookeeper-3.4.6/ node1:`pwd`
scp -r zookeeper-3.4.6/ node2:`pwd`
分别配置node1和node2的环境变量
切换到目录zookeeper-3.4.6
vim /etc/profile
ZOOKEEPER_HOME=/usr/local/soft/zookeeper-3.4.6
$ZOOKEEPER_HOME/bin
6、编辑myid
cd /usr/local/soft/zookeeper-3.4.6/data/
vim myid
master,node1,node2分别加上0,1,2
7、启动zk
zkServer.sh start 三台都需要执行
zkServer.sh status 查看状态
通过jps可以查看zk的进程:ZK的进程显示为QuorumPeerMain,三台都有
当有一个leader的时候说明ZK启动成功
## 停止zk
zkServer.sh stop 三台都需要执行
8、连接zk
zkCli.sh---------默认连接本地的ZK
zkCli.sh -server 服务器:对外服务的端口----------连接远程的ZK
举例:连接node1的远程ZK
zkCli.sh -server node1:2181
连接成功后:
[zk: note01:2181(CONNECTED) 0]
zk是一个目录结构 ,每个节点可以存数据,同时可以有子节点
通过help可以查看ZK的shell命令
常用的命令:增删改查
增 creat
删 rmr------删除节点
delete----只能删除没有子节点的节点
改 set
查 ls
获取 get
退出ZK quit
重置zk
1、杀掉所有zk进程
kiil -9 pid
2、删除data目录下的version文件, 所有节点都要删除
rm -rf /usr/local/soft/zookeeper-3.4.6/data/version-2

浙公网安备 33010602011771号