zoukankan      html  css  js  c++  java
  • zookeeper系列(一)安装

    zookeeper是一个分布式应用协调服务,主要用来解决分布式应用配置项的管理、同步服务、集群管理等,它由Java语言编写,但它支持Java和C两种编程语言接口;

     

    环境部署

    操作系统:centos 6.4

    JDK版本:1.7.0_60

     

    单机模式

    1、安装包下载地址:http://www.apache.org/dyn/closer.cgi/zookeeper/

    2、安装包下载完后,解压到根目录下的cloud(该目录自己创建)目录中;

    3、cp /cloud/zookeeper-3.4.5/conf/zoo_sample.cfg ./zoo.cfg

    4、修改配置文件(zoo.cfg)

        将dataDir的字段值修改为/cloud/zookeeper-3.4.5/tmp,即:dataDir=/cloud/zookeeper-3.4.5/tmp

        说明:tmp目录需要根据路径地址手动创建,dataDir字段的值用于指定存储内存中数据快照的位置;

        在配置文件中最后添加一行配置:server.1=chenx:2888:3888

        说明:chenx为主机名,需要在/etc/hosts配置IP与主机名的映射,当然也可以直接用IP地址,2888为从机器连接到主机器的端口,3888为进行leader选举的端口;

    5、/cloud/zookeeper-3.4.5/tmp目录下创建一个myid文件,里面内容是server.N中的N(如:server.1里面内容为1)

        echo "1" > myid

    6、启动zookeeper,在命令行中运行 /cloud/zookeeper-3.4.5/bin/zkServer.sh start ,运行jps查看到QuorumPeerMain进程表示成功;

     

     

    伪分布式

    同一台机器上启动多个zookpeer服务,与单机模式的部署大部分相同,不同点如下:

    1、配置多份zoo.cfg文件(文件名任意),如:zoo1.cfg、zoo2.cfg等;

    2、 每份配置文件中clientPort、dataDir值不要一样也不要冲突;

    3、启动多少个zookeeper服务,就需重复多少次单机模式配置中的第四步,且连接端口和选举端口不要相同;

    配置图1:

    image

    配置图2:

    image 

     

    集群模式

    与伪分布式差不多,唯一的区别在于zookeeper的安装程序,需要在集群中的各个节点上重复上述配置过程;

     

    配置参数(zoo.cfg)整理说明
    1、initLimit:Zookeeper接受客户端初始化连接时最长能忍受多少个心跳时间间隔;
    2、syncLimit:标识Leader与Follower之间发送消息,请求和应答时间长度,最长不能超过多少个tickTime的时间长度;
    3、tickTime:维持Zookeeper服务之间或客户端与服务器之间心跳的时间间隔;(以毫秒为单位)
    4、dataDir:Zookeeper保存内存数据快照的目录,默认情况下,Zookeeper将写数据的日志文件也保存在该目录;
    5、clientPort:客户端连接Zookeeper服务端端口,Zookeeper会监听该端口,并接受客户端的访问请求;
    6、查看Zookeeper是否在服务:echo ruok | nc localhost 2181

     

    zookeeper高可用
    Zookeeper通过复制来实现高可用性,只要集合体中半 数以上的机器处于可用状态,它就能够保证服务继续。之所以要超过半数与Zookeeper的赋值策略有关,Zookeeper确保对znode树的每一个修改都会被复制到集合体中超过半数的机器上。而在Zookeeper部署中通常采用2n+1的方式,可容纳n台机器挂掉;

  • 相关阅读:
    ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
    查看windows和linux下端口是否被占用
    linux系统的默认用户
    修改mysql、oracle、sqlserver默认端口
    linux(centos)下密码有效期和密码复杂度设置
    linux下设置账户锁定阈值:登录失败n次,多长时间后解锁重新登录
    linux账户的锁定和解锁、禁用账号
    执行./install.sh时报错-bash: ./install.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录
    突然虚拟机无法联网解决办法,且报错Failed to start LSB: Bring up/down
    kubernetes集群环境搭建(7)
  • 原文地址:https://www.cnblogs.com/jianyuan/p/4293381.html
Copyright © 2011-2022 走看看