(十五)Zookeeper的介绍与分布式安装配置

一、Zookeeper的介绍

1.1、什么是Zookeeper

Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoop 的分布式协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等

1.2、为什么使用Zookeeper

  • 大部分分布式应用需要一个主控、协调器或控制器来管理物理分布的子进程(如资源、任务分配等)
  • 目前,大部分应用需要开发私有的协调程序,缺乏一个通用的机制
  • 协调程序的反复编写浪费,且难以形成通用、伸缩性好的协调器
  • ZooKeeper:提供通用的分布式锁服务,用以协调分布式应用

Zookeeper就如同动物管理员

 

1.3、Zookeeper能帮我们做什么?

  • Hadoop2.0,使用Zookeeper的事件处理确保整个集群只有一个活跃的NameNode,存储配置信息等.
  • HBase,使用Zookeeper的事件处理确保整个集群只有一个HMaster,察觉HRegionServer联机和宕机,存储访问控制列表等.

1.4、Zookeeper的特性

  • 一致性:数据一致性,数据按照顺序分批入库
  • 原子性:事物要么成功要么失败,不会局部化
  • 单一视图:客户端连接集群中的任意zk节点,数据都是一致的
  • 可靠性:每次对zk的操作状态都会保存在服务端
  • 实时性:客户端可以读取到zk服务端的最新数据

        Zookeeper 作为 Hadoop 项目中的一个子项目,是 Hadoop 集群管理的一个必不可少的模块,它主要用来控制集群中的数据,如它管理 Hadoop 集群中的 NameNode,还有 Hbase 中 Master Election、Server 之间状态同步等。

Zoopkeeper 提供了一套很好的分布式集群管理的机制,就是它这种基于层次型的目录树的数据结构,并对树中的节点进行有效管理,从而可以设计出多种多样的分布式的数据管理模型。

二、Zookeeper分布式安装与配置

1、下载Zookeeper

运行环境是在Ubuntu14系统下,Zookeeper当前稳定版本zookeeper-3.4.12

下载地址:http://mirrors.hust.edu.cn/apache/zookeeper/

2、安装Zookeeper

2.1 解压安装包zookeeper-3.4.12.tar至路径 /usr/local,命令如下:

sudo tar -zxf ~/zookeeper-3.4.12.tar -C /usr/local

2.2 将解压的文件名zookeeper-3.4.12改为zookeeper,以方便使用,命令如下:

sudo mv /usr/local/zookeeper-3.4.12 /usr/local/zookeeper

2.3 配置环境变量,将hbase下的bin目录添加到path中:

vim ~/.bashrc

如果没有引入过PATH请在~/.bashrc文件尾行添加如下内容:

export PATH=$PATH:/usr/local/zookeeper/bin

如果已经引入过PATH请在export PATH这行追加/usr/local/zookeeper/bin,这里的“:”是分隔符,如图:

执行source命令使上述配置在当前终端立即生效:

source ~/.bashrc

2.4 创建Zookeeper存储目录:

cd /usr/local/zookeeper  #进入Zookeeper目录
mkdir zkdata             #创建zkdata
cd zkdata
pwd                      #/usr/local/zookeeper/zkdata

备注:这个会在配置Zookeeper文件中有用

3、修改配置文件

3.1 进入conf文件夹 cd /usr/local/zookeeper/conf

拷贝zoo_sample.cfg为zoo.cfg

cp zoo_sample.cfg zoo.cfg

3.2 编辑zoo.cfg

vim zoo.cfg

1、更改dataDir=/usr/local/zookeeper/zkdata

2、添加集群端点(注意master、slave是自己的主机名)

server.1 = master:2888:3888
server.2 = slave1:2888:3888
server.3 = slave2:2888:3888

3.3 创建myid文件(相当于hadoop中的slave文件)用来分布式管理,类似于主机编号

cd ../zkdata
vim myid
#第一台机器,填写编号1就可以

myid内容

 

3.4 将master中配置好的Zookeeper分发到其他节点中

cd /usr/local    #进入local目录
scp -r zookeeper/ slave1:/usr/local/   #将Zookeeper复制到slave1的local中

备注:同理传入slave2....等多节点中

3.5  修改slave1..各个节点中的myid编号

cd /usr/local/zookeeper/zkdata   #进入slave1节点中zkdata文件
vim myid                         #修改为2

4、启动Zookeeper服务

分别在master和各个slave节点启动Zookeeper服务(slave也要配置环境变量)

zkServer.sh start

5、jsp查看Zookeeper服务

jps     #查看是否有下面的进程

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值