美文网首页
Zookeeper安装配置及简单使用

Zookeeper安装配置及简单使用

作者: 林亚希 | 来源:发表于2019-03-04 16:35 被阅读0次

个人理解学习如有错误,请指出。

什么是分布式o

将任务拆分成子模块在不同的节点上执行。

分布式与集群的区别

分布式解决了高可用,高并发。集群解决了高可用。

  • 如:有一堆砖头需要搬运时间需要10个小时。
  • 分布式: 10个人,搬完只需要1个小时。
  • 集群: 10个人,搬完需要10个小时。

为什么要使用分布式

所有的架构思想,都是为了提高工作效率,模块化业务需求,降低耦合,方便维护。

分布式难点

  1. 保证节点高可用
  2. 数据的一致性
  3. 通讯异常

Zookeeper简介

  • ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
  • ZooKeeper的基本运转流程:
    1、选举Leader。
    2、同步数据。
    3、选举Leader过程中算法有很多,但要达到的选举标准是一致的。
    4、Leader要具有最高的执行ID,类似root权限。
    5、集群中大多数的机器得到响应并接受选出的Leader。

Zookeeper安装配置

  1. 下载

$ wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz

  1. 解压

$ tar xvzf zookeeper-3.4.9.tar.gz

$ mv ./zookeeper-3.4.9 /usr/local/

  1. 修改配置文件

    ${ZOOKEEPER_HOME}/conf/zoo_sample.cfg

  • (伪分布式)

dataDir指定当前服务器数据存放的路径(目录)

clientPort 指定当前服务器服务器的端口

server.1/server.2/server.3 指定服务器的集群情况(有几台服务器)

myid必须手动建立且指定在zk数据目录,也就是dataDir指定的路径(不管真分布还是伪分布都需要指定)

$ echo 1 >> /home/hadoop/tmp/zookeeper/zk1/myid

$ echo 2 >> /home/hadoop/tmp/zookeeper/zk2/myid

$ echo 3 >> /home/hadoop/tmp/zookeeper/zk3/myid

Zookeeper伪分布式部署(server zookeeper只有一份)

/conf/zoo1.cfg zoo2.cfg zoo3.cfg

zoo1.cfg

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/home/hadoop/tmp/zookeeper/zk1(这个目录可以自行指定)

clientPort=2181

server.1=master:2888(通讯端口):3888(选举端口)

server.2=master:2889:3889

server.3=master:2890:3890

zoo2.cfg

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/home/hadoop/tmp/zookeeper/zk2

clientPort=2182

server.1=master:2888:3888

server.2=master:2889:3889

server.3=master:2890:3890

zoo3.cfg

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/home/hadoop/tmp/zookeeper/zk3

clientPort=2183

server.1=master:2888:3888

server.2=master:2889:3889

server.3=master:2890:3890

Zookeeper真分布部署在master、slave1、slave2 三台不同的服务器上

server1..../conf/zoo.cfg

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/home/hadoop/tmp/zookeeper/zk

clientPort=2181

server.1=master:2888:3888

server.2=slave1:2888:3888

server.3=slave2:2888:3888

server2..../conf/zoo.cfg

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/home/hadoop/tmp/zookeeper/zk

clientPort=2181

server.1=master:2888:3888

server.2=slave1:2888:3888

server.3=slave2:2888:3888

server3..../conf/zoo.cfg

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/home/hadoop/tmp/zookeeper/zk

clientPort=2181

server.1=master:2888:3888

server.2=slave1:2888:3888

server.3=slave2:2888:3888

Zookeeper及其APi的使用

  1. 停止Zookeeper

伪分布式:

$ zkServer.sh stop /usr/local/zookeeper-3.4.6/conf/zoo1.cfg

$ zkServer.sh stop /usr/local/zookeeper-3.4.6/conf/zoo2.cfg

$ zkServer.sh stop /usr/local/zookeeper-3.4.6/conf/zoo3.cfg

  1. 启动Zookeeper

$ zkServer.sh start /usr/local/zookeeper-3.4.6/conf/zoo1.cfg

$ zkServer.sh start /usr/local/zookeeper-3.4.6/conf/zoo2.cfg

$ zkServer.sh start /usr/local/zookeeper-3.4.6/conf/zoo3.cfg

  1. 查看zookeeper状态

$ zkServer.sh status /usr/local/zookeeper-3.4.6/conf/zoo1.cfg

$ zkServer.sh status /usr/local/zookeeper-3.4.6/conf/zoo2.cfg

$ zkServer.sh status /usr/local/zookeeper-3.4.6/conf/zoo3.cfg

相关文章

网友评论

      本文标题:Zookeeper安装配置及简单使用

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