美文网首页玩转大数据
(七)大数据学习之Zookeeper

(七)大数据学习之Zookeeper

作者: Movle | 来源:发表于2019-11-23 18:18 被阅读0次

1.Zookeeper

(1)官网:http://zookeeper.apache.org/
(2)介绍

  • Apache ZooKeeper致力于开发和维护开源服务器,实现高度可靠的分布式协调
  • ZooKeeper是一种集中式服务,用于维护配置信息,命名,提供分布式同步和提供组服 务。所有这些类型的服务都以分布式应用程序的某种形式使用。每次实施它们都需要做 很多工作来修复不可避免的错误和竞争条件。由于难以实现这些类型的服务,应用程序 最初通常会吝啬它们,这使得它们在变化的情况下变得脆弱并且难以管理。即使正确完 成,这些服务的不同实现也会在部署应用程序时导致管理复杂性。

2.Zookeeper工作原理:

(1)zookeeper功能:

  • 存储+监听
    (2)Zookeeper工作原理
zookeeper功能

3.Zookeeper角色

(1)主从结构:

  • Leader 领导者 ->主
  • Follower 追随者 ->从
    (2)zk集群中只要有半数以上的节点存活,zk集群就能正常工作。所以搭建zk集群最好搭建 奇数台(3,5,11)

4.Zookeeper功能

大数据中使用zookeeper业务:
(1)做统一的配置管理
(2)做统一的命名服务
(3)做统一的集群管理
(4)做服务器的动态上下线感知(代码)

5.Zookeeper单节点安装部署

(1)下载安装包
(2)上传到linux
(3)解压

tar -zxvf zookeeper-3.4.14.tar.gz -C /opt/module 

(4)修改配置文件zoo.cfg

cd /opt/module/zookeeper-3.4.14  
mkdir zkData                //创建目录
 
cd /opt/module/zookeeper-3.4.14/conf     //进入配置文件所在文件夹
 
mv zoo_sample.cfg zoo.cfg              //重命名配置文件
vi zoo.cfg                           //修改zoo.cfg

修改内容为:

dataDir=/opt/module/zookeeper-3.4.14/zkData       //修改为刚才新建的目录地址

(5)创建文件夹zkData,见上一步
(6)启动zookeeper

bin/zkServer.sh start      //启动zookeeper

(7)启动zookeeper客户端

cd /opt/module/zookeeper-3.4.14/bin             //
./zkCli.sh        //启动zookeeper客户端

6.Zookeeper集群安装部署

(1)下载安装包:
(2)上传到Linux:
(3)解压:

tar -zxvf zookeeper-3.4.14.tar.gz -C /opt/module 

(4)修改配置文件名

cd /opt/module/zookeeper-3.4.14/conf   //进入目录
mv zoo_sample.cfg zoo.cfg              //重命名配置文件

(5)修改配置文件
a.新建zkData文件夹

cd /opt/module/zookeeper-3.4.14    
mkdir zkData               //新建目录
cd /opt/module/zookeeper-3.4.14/conf   //进入目录

vi zoo.cfg       //修改配置文件 

b.修改zoo.cfg,其修改内容如下:

dataDir=/opt/module/zookeeper-3.4.14/zkData       //修改为刚才新建的目录地址 

//新增内容
server.1=bigdata121:2888:3888
server.2=bigdata122:2888:3888
server.3=bigdata123:2888:3888

c.在zkData新建myid文件

cd /opt/module/zookeeper-3.4.14/zkData

touch myid            //新建myid
vi myid             //修改myid

d.myid修改内容如下:

1                //增添内容

(6)拷贝Zookeeper到其他机器

scp -r zookeeper-3.4.14 bigdata122:/opt/module/
scp -r zookeeper-3.4.14 bigdata123:/opt/module/

(7)注意需要修改每台机器的myid文件,设置为当前的机器编号即可

//bigdata122机器
cd /opt/module/zookeeper-3.4.14/zkData

vi myid 

//myid内容修改为2
2
//bigdata123机器
cd /opt/module/zookeeper-3.4.14/zkData

vi myid 
//myid内容修改为3
3 

(8)启动zookeeper集群

cd /opt/module/zookeeper-3.4.14 

bin/zkServer.sh start         //每台机器都要启动

(9)查看zookeeper状态

cd /opt/module/zookeeper-3.4.14 

bin/zkServer.sh status        //查看zookeeper状态

(10)关闭zookeeper集群

cd /opt/module/zookeeper-3.4.14 
bin/zkServer.sh stop      //关闭

7.Zookeeper选举机制

选举机制

8.命令行操作

(1)配置环境变量

vi ~/.bash_profile   //修改配置文件

修改内容为:

ZOOKEEPER_HOME=/opt/module/zookeeper-3.4.14
export ZOOKEEPER_HOME
PATH=$ZOOKEEPER_HOME/bin:$PATH
export PATH

(2)启动客户端

zkCli.sh

(3)连接其他机器客户端操作

connect bigdata122:2181

(4)查看历史操作

history

(5)查看当前节点信息

ls /

(6)存储:创建节点
命令格式:

  • create path value
create /itstar 10 

(7)查看节点的值
命令格式:

  • get path
get /itstar

(8)创建节点的可选项
命令格式:

  • create [-s] [-e] path data acl
create -e /reba henmei                 //注意:此时-e创建的是临时的短暂节点,退出客户端后消失。退出客户端:quit

create -s /jielun henshuai       //注意:此时-s创建是带序号的节点,可以创建节点名相同的,序号依次累加

create -e -s /yizhou henchou    //创建短暂带序号节点

(9)修改节点值
命令格式:

  • set path data [version] //version版本,必须从0开始
set /itstar 20 

(10)删除节点
命令格式:

  • delete path
delete /itstar

(11)创建子节点

create /reba/pannan paoqilai

(12)递归删除

rmr /reba

(13)监听

  • 获得监听:get path watch
  • 获得当前节点下增减变化:ls path watch
    (14)查看当前节点状态
    命令格式:
  • stat path
stat /itstar

9.节点状态信息

cZxid = 0x200000006                   //zookeeper事务id
ctime = Sun Jul 21 19:12:54 CST 2019  //节点创建时间
mZxid = 0x200000006                   //最后更新的czxid
mtime = Sun Jul 21 19:12:54 CST 2019  // 最后更新的时间
pZxid = 0x200000006                   //最后更新子节点的czxid
cversion = 0                          //子节点的变化号子节点修改次数
dataVersion = 0                        //数据变化号
aclVersion = 0                         //访问控制列表的变化号
ephemeralOwner = 0x0                  //临时阶段判断
dataLength = 2                        //节点数据长度
numChildren = 0                       //子节点个数

10.JavaAPI实操

(1)在pom.xml文件中导入依赖

相关文章

网友评论

    本文标题:(七)大数据学习之Zookeeper

    本文链接:https://www.haomeiwen.com/subject/zhnhwctx.html