zoukankan      html  css  js  c++  java
  • Zookeeper~Linux环境下的部署

    介绍

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
    ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
    ZooKeeper包含一个简单的原语集, 提供Java和C的接口。
    ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3src ecipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。

    外文名
    ZooKeeper
    类    别
    分布式系统的可靠协调系统
    所    属
    Hadoop的正式子项目
    特    点
    高效,可靠

    原理

    ZooKeeper是以Fast Paxos算法为基础的,Paxos 算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos作了一些优化,通过选举产生一个leader (领导者),只有leader才能提交proposer,具体算法可见Fast Paxos。因此,要想弄懂ZooKeeper首先得对Fast Paxos有所了解。
    ZooKeeper的基本运转流程:
    1、选举Leader。
    2、同步数据。
    3、选举Leader过程中算法有很多,但要达到的选举标准是一致的。
    4、Leader要具有最高的执行ID,类似root权限。
    5、集群中大多数的机器得到响应并follow选出的Leader。

    从图中看zookeeper,就是一个协调者

    Linux-centos上的安装与部署

    官网下载:

    http://zookeeper.apache.org/

    1. Learn about ZooKeeper by reading the documentation.
    2. Download ZooKeeper from the release page.

    解压:

    tar -xzvf zookeeper-3.5.2-alpha.tar.gz

    安装JDK:

    yum install java-1.7.0-openjdk-src.x86_64

    配置目录JAVA_HOME:

    vi /etc/profile,打开文件后,追加下面内容

    export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9
    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$PATH:$JAVA_HOME/bin

    运行zookeeper服务:

    bin/zkServer.sh start  conf/zoo.cfg

    结果如图:

     感谢各位对大叔的支持,技术,我们将继续!

  • 相关阅读:
    JAVA面向对象继承 及super的学习
    JAVA 封装的学习
    submit和button的区别
    Servlet四大域对象
    转发和重定向的区别
    JSTL标签用法 详解
    JSP中EL表达式的使用
    解决idea的项目启动报404的问题
    intellij idea 创建动态web项目
    解决mysql数据库中文乱码问题
  • 原文地址:https://www.cnblogs.com/lori/p/6624351.html
Copyright © 2011-2022 走看看