zookeeper单机配置安装

1 zookeeper简介(面试)

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,(是Google的Chubby一个开源的实现),是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

 

2 为什么需要zookeeper?

分布式应用中出现“部分失败”(例如两个节点通过网络发送消息,发送者无法知道消息是否发送成功,接受者由于网络错误,没有接收到该消息,或 是否在网络发生错误时,接收者已经接收到消息)

Zookeeper不能避免部分失败,zookeeper可以提供一组工具,使分布式应用发送部分失败进行正确处理。

 

3 zookeeper单机版

 安装:

A:安装并配置jdk

B:下载ZooKeeper:http://pan.baidu.com/s/1pJlwbR9

C:解压:tar -zxvf zookeeper-3.4.5.tar.gz 重命名:mv zookeeper-3.4.5 zk

D:ZK配置

   ZK的配置文件在conf/zoo.cfg, 通过拷贝模板文件的生成ZK配置文件

cp  zoo_sample.cfg   zoo.cfg

修改zoo.cfg配置文件中的属性

#tickTime指定了ZK中基本的时间单元(毫秒)

tickTime=2000

#dataDir指定ZK存储持久化数据全路径

dataDir=/home/hadoop/zookeeper-3.4.6/data/

     #clientPort属性指定了客户端连接端口号

clientPort=2181

E:配置环境变量:为了今后操作方便,我们需要对Zookeeper的环境变量进行配置,方法如下在/etc/profile文件中加入如下内容:

export ZOOKEEPER_HOME=/usr/local/zk

export PATH=.:HADOOP H OME/bin: ZOOKEEPER_HOME/bin:JAVA H OME/bin: PATH

F:启动ZooKeeper的Server:

启动当前节点ZK服务

 zkServer.sh  start

测试ZK的服务的客户端端口号(2181)

>echo  ruok|nc   localhost  2181

关闭ZooKeeper的Server:zkServer.sh stop

4 zookeeper特点

A:ZK具有简单性

  Zookeeper核心是一个精简的文件系统,例如排序和通知

B:ZK具有表现力

  ZK的基本操作是一组丰富的构建,可以用于实现多种协调数据结构和协议。

包括:分布式队列、分布式锁和一组节点中“领导选举”。

C:ZK具有高可用

  ZK集群节点数量3个以上。ZK运行在一组机器节点上,并且设计上是高可用性的。ZK避免单点故障(single point of failure,SPOF)

D: ZK 采用松耦合交互方式。

   数据汇集(rendezvous)机制:让进程在不了解其他进程的情况下能够彼此进行信息交互,参与的各方可以不必同时存在。

E: ZK是一个资源库

5  zookeeper中组成员关系

 ZK可以将它看成具有高可用特征的文件系统,这个文件系统没有文件和目录,统一使用节点概念,称为znode;  znode构成一个具有层次结构列表;

 

6 ZK服务

6.1 数据模型

 ACL(访问控制列表) ZK具有层次型的结构,树中每个节点称为znode,znode用于存储数据,并且进行关联 形成ACL;

  ZK被设计用于实现协调服务器,而不是存储大量的数据存储,znode存储数据的大小被限制到1MB以内;

  ZK可以进行数据访问具有原子性;

  znode有两种分类:短暂znode和持久的;

  顺序号:顺序znode 名称中包含 ZooKeeper-指定顺序号的znode;

6.2 操作

 create(创建一个znode),delete(删除znode不能子节点),exists, getACL()/setACL(访问/设置访问列表),getChildren(得到znode子节点列表),sync(同步客户端的znode视图和ZK同步)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值