ZooKeeper伪分布式集群部署

 本文为Zookeeper伪分布式环境的部署,机器环境Wie

  •   1、Centos 6.8
  •   2、JDK为1.8.0_121
  •        3、zookeeper版本为3.4.9

一、zookeeper伪分布式环境准备

  1.   官网下载zookeeper到/opt/zookeeper/zookeeper-3.4.9.tar.gz
  2.   执行解压命令
    1 tar zxvf zookeeper-3.4.9.tar.gz
  3. 修改环境变量(非必须)

        为了方便命令输入,这里将zookeeper配置到环境变量中

      1 vim /etc/profile

        在文件的末尾增加以下内容,保存退出

    1 export ZOOKEEPER=/opt/zookeeper/zookeeper-3.4.9
    2 export PATH=$PATH:$ZOOKEEPER/bin

        刷新环境变量

    1 source /etc/profile


二、部署伪分布式集群环境

  说明,本次部署采用的是三个节点进行部署

  在部署之前,先对zookeeper的配置文件进行介绍,zookeeper配置文件位于安装目录下的conf/zoo_sample.cfg

  打开该文件如下

    

 1 Zookeeper伪分布式
 2 
 3 
 4 
 5 # The number of milliseconds of each tick
 6 # tickTime为每个心跳的时间间隔,单位为毫秒
 7 tickTime=2000


8 # The number of ticks that the initial 9 # synchronization phase can take 10 #initLimit表示初始化连接时,最多能够忍受多少个心跳的时间间隔。举个例子,当超过10个心跳间隔时,还没有收到返回信息,表示这个客户端连接失败,10个时间间隔就是10*2000=20000毫秒即20秒 11 initLimit=10
12 # The number of ticks that can pass between 13 # sending a request and getting an acknowledgement 14 #syncLimit表示follower和Leader通信时,请求和应答的时间长度,最长不能超过多少个心跳间隔,这里是5*2000=10000即10秒 15 syncLimit=5
16 # the directory where the snapshot is stored. 17 # do not use /tmp for storage, /tmp here is just 18 # example sakes. 19 #dataDir快照的存放目录,这里配置为tmp仅仅是示例,不要使用/tmp目录 20 dataDir=/tmp/zookeeper
21 # the port at which the clients will connect 22 #clientPort表示开放为客户端连接进入的端口 23 clientPort=2181

24 # the maximum number of client connections. 25 # increase this if you need to handle more clients 26 #maxClientCnxns表示客户端可连接进入的最大连接数 27 #maxClientCnxns=60 28 29 # 30 # Be sure to read the maintenance section of the 31 # administrator guide before turning on autopurge. 32 # 33 # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance 34 # 35 # The number of snapshots to retain in dataDir 36 #在zookeeper3.4.0以后提供了自动清理快照的功能,该配置表示保留快照的文件数目,默认是3个 37 #autopurge.snapRetainCount=3
38 # Purge task interval in hours 39 # Set to "0" to disable auto purge feature 40 #自动清理的时间间隔,即清理的频率。单位为小时,设置为0表示不自动清理, 41 #autopurge.purgeInterval=1 42 43 44 45 46 ############################################# 47 #zookeeper其它配置介绍 48 1、dataLogDir:在默认的的配置文件示例中没有提供dataLogDir,如果没有提供的话,则使用的dataDir。zookeeper的持久化都存在dataDir和dataLogDir这两个目录下。由于dataLogDir里面存放的是顺序日志(WAL:Write-Ahead Logging预写日志系统,数据库中一种高效的日志算法,对于非内存数据库而言,磁盘I/O操作是数据库效率的一大瓶颈。在相同的数据量下,采用WAL日志的数据库系统在事务提交时,磁盘写操作只有传统的回滚日志的一半左右,大大提高了数据库磁盘I/O操作的效率,从而提高了数据库的性能),而dataDir里面存放的是内存数据结构的snapshot,便于恢复。所以一般的情况下是建议个这两个分到不同磁盘上,以便从发利用磁盘书序写的特性,以达到性能的最大化。 49 2、集群中的服务列表配置 50 server.A=B:C:D 51 A:表示集群中服务器的序号,需要唯一 52 B:表示服务器的IP 53 C:和集群中Leader交换数据的端口 54 D:进行Leader选举的端口 55 举例子 56 server.1=192.168.135.11:8881:8891 57 server.2=192.168.135.12:8881:8891 58 server.3=192.168.135.13:8881:8891 59 在这个集群中有三个服务器 60 序号分别为1、2361 IP分别为192.168.135.11,192.168.135.12,192.168.135.1362 和Leader通讯的端口均为8881,当然这里的通讯端口也可以不一样 63 进行Leader选举的端口均为8891,这里的选举端口也可以不一样 64

   

原文地址:https://www.cnblogs.com/zengguoyu/p/7675208.html