Zookeeper简介、安装以及简单使用

Zookeeper

zookeeper

  1. Zookeeper是一个开源的分布式,为分布式应用提供协调服务的Apache项目
  2. 存储和管理数据节点,一旦数据节点的状态发生变化,zookeeper通知在zookeeper上注册的客户端

zookeeper特点

  1. 一个leader,多个Follower
  2. 集群中有半数以上节点存活,zookeeper集群就可以正常服务
  3. 全局数据一致性,无论客户端连接到哪个服务器,都可获取到你想要的数据(只要服务器上有)
  4. 更新原子性,一次更新过程要么成功要么失败
  5. 实时性

zookeeper应用

  • 统一命名服务
  • 统一配置管理
  • 统一集群管理
  • 服务节点动态上下线
  • 软负载均衡

zookeeper节点类型

  • 持久化目录节点
  • 持久化顺序编号目录节点
  • 临时目录节点
  • 临时顺序编号目录节点

监听器原理

  1. 创建main()线程
  2. main()线程中创建zookeeper客户端,包含两个线程,一个用于网络连接通讯(connect),一个用于监听(listener)
  3. 通过线程connect注册监听事件发送给Zookeeper
  4. 注册监听事件添加至注册监听列表中
  5. 有数据或路径发生变化就将消息发送给listener线程
  6. 以监听到的变化为触发机制作相应的处理

Zookeeper安装

  1. 下载安装包
    下载地址为:https://zookeeper.apache.org/releases.html
    Zookeeper简介、安装以及简单使用_第1张图片
  2. 解压安装包
tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz
#将解压后的安装包重命名为zookeeper
mv apache-zookeeper-3.5.7-bin.tar.gz zookeeper

Zookeeper简介、安装以及简单使用_第2张图片

  1. 进入配置文件./conf,配置文件zoo.cfg
#将示例文件zoo_sample.cfg拷贝为zoo.cfg
cp zoo_sample.cfg zoo.cfg
#进入文件编辑
vi zoo.cfg

Zookeeper简介、安装以及简单使用_第3张图片
注:这里的master、slave1、slave2亦可为IP地址,我在/etc/hosts文件中将IP重命名为master、slave1、slave2

  1. 创建存储zookeeper产生的数据的文件夹,并配置文件myid
#目录为zookeeper
mkdir zookeeper_data
#目录为zookeeper_data
vi myid

Zookeeper简介、安装以及简单使用_第4张图片注:myid文件中填写主机对应的server号(zoo.cfg中配置的)

  1. 使用scp命令将文件zookeeper拷贝到其余两台主机上
scp -r /software/zookeeper slave1:/software
scp -r /software/zookeeper slave2:/software
  1. 相关命令
#目录为/software/zookeeper/bin
#启动命令
./zkServer.sh start
#停止命令
./zkServer.sh stop
重启命令
./zkServer.sh restart
状态查看命令
./zkServer.sh status
  1. 使用jps命令查看进程
    在这里插入图片描述

  2. 配置环境变量

vi /etc/profile

Zookeeper简介、安装以及简单使用_第5张图片
在slave1和slave2上以同样方式配置zookeeper环境变量

Zookeeper的简单使用

  1. 创建节点
    命令为create,-s表示创建顺序节点,-e表示创建临时节点,无参数表示创建持久节点
#创建顺序节点,数据为0000
create -s /next 0000
#创建临时节点,数据为1111
create -s /next-tmp 1111
#创建持久节点,数据为2222
create /next-per 2222
  1. 更改节点信息
#将节点/next-per数据内容更改为3333
set /next-per 3333
  1. 查看历史操作命令
history
  1. 指定历史命令编号快速执行
redo 历史命令的编号
  1. 退出客户端
exit

你可能感兴趣的:(大数据)