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
posted @ 2022-02-12 22:36  阿伟宝座  阅读(203)  评论(0)    收藏  举报