分布式

Zoonkeeper安装、集群配置 [Mac]

2018-09-17  本文已影响8人  飘云羽逸

Zoonkeeper安装、集群配置 [Mac]

1. 下载Zoonkeeper

镜像下载地址

进去后选择你需要的版本,然后下载对应的压缩文件到本地,比如我选择的是当前最新的版本

zookeeper-3.5.4-beta

2. 解压安装 [单服务非集群配置]

  1. 打开终端进入到压缩文件 zookeeper-3.5.4.gz 文件对应的目录,然后解压
$ cd Download //进入到目录
$ tar -xzf zookeeper-3.5.4.gz //解压文件
$ cd zookeeper-3.5.4-beta/conf //进入配置目录
$ mv zoo_sample.cfg zoo.cfg //更改默认配置文件名称
$ vi zoo.cfg //编辑配置文件,自定义dataDir
  1. 修改配置

关于配置文件说明:

  1. 文件名可以任意,不是非得改为zoo.cfg
  2. tickTime: zookeeper中使用的基本时间单位, 毫秒
  3. dataDir: 内存数据快照的保存目录;如果没有自定义Log也使用该目录
  4. clientPort: 监听Cli连接的端口号

配置文件 zoo.cfg 内容如下:

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/tmp/zookeeper
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
  1. 服务启动

注意:服务启动前需要本机安装好 java 运行环境

$ cd zookeeper-3.5.4-beta/bin //进入目录
// 启动服务,也可以不加 -foreground 直接用start也可以启动
// -foreground 表示前台启动,能够在终端打印启动信息,如果出错能看到报错信息
$ ./zkServer.sh start-foreground 

3. 解压安装 [多服务集群配置]

  1. 打开终端进入到压缩文件 zookeeper-3.5.4.gz 文件对应的目录,然后解压
$ cd Download //进入到目录
$ tar -xzf zookeeper-3.5.4.gz //解压文件
$ cd zookeeper-3.5.4-beta/conf //进入配置目录
$ mv zoo_sample.cfg zoo.cfg //更改默认配置文件名称
$ vi zoo.cfg //编辑配置文件,自定义dataDir
  1. 新建一个文件夹取名 zk-cluster ,名字你可以自己定义
  2. 然后移动上面 第1步解压的 zookeeper-3.5.4-beta 文件到 zk-cluster 目录,并且新复制出另外的两份来
  3. 现在有三个服务文件夹,然后分别取名 zk3.5.4-8001、 zk3.5.4-8002、zk3.5.4-8003,我现在列一下整个需要的目录结构:
/zk-cluster/
|-- zk3.5.4-8001
|-- zk3.5.4-8002
|-- zk3.5.4-8003
`-- zk-data                             # 存放每个服务数据和日志的总目录
    |-- 8001  
        |-- logs
        |-- data
            |-- myid                    # 配置文件,文件名称myid无后缀,内容为数字1
    |-- 8002  
        |-- logs
        |-- data
            |-- myid                    # 配置文件,文件名称myid无后缀,内容为数字2
    |-- 8003  
        |-- logs
        |-- data
            |-- myid                    # 配置文件,文件名称myid无后缀,内容为数字3
  1. 分别修改zk3.5.4-8001、 zk3.5.4-8002、zk3.5.4-8003里面的 conf/zoo.cfg 配置文件,8001的配置文件内容如下:

    # The number of milliseconds of each tick
    tickTime=2000
    # The number of ticks that the initial 
    # synchronization phase can take
    initLimit=10
    # The number of ticks that can pass between 
    # sending a request and getting an acknowledgement
    syncLimit=5
    # the directory where the snapshot is stored.
    # do not use /tmp for storage, /tmp here is just 
    # example sakes.
    dataDir=/Users/leitan/Downloads/zk-cluster/zk-data/8001/data
    dataLogDir=/Users/leitan/Downloads/zk-cluster/zk-data/8001/logs
    # the port at which the clients will connect
    clientPort=3001
    # the maximum number of client connections.
    # increase this if you need to handle more clients
    #maxClientCnxns=60
    #
    # Be sure to read the maintenance section of the 
    # administrator guide before turning on autopurge.
    #
    # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
    #
    # The number of snapshots to retain in dataDir
    #autopurge.snapRetainCount=3
    # Purge task interval in hours
    # Set to "0" to disable auto purge feature
    #autopurge.purgeInterval=1
    
    # Cluster Zookeeper Server Address 下面配置不需要修改 要注意的就是,下面server.number (number是1、2、3)分别对应myid中的内容,
    # zookeeper也是通过server后面的数字以及dataDir下的myid内容来判断zookeeper集群的关系的(哪个server对应哪个地址),然后后面两个端
    # 口号,一个是跟服务器发送链接的端口,另一个是接受服务器链接的端口
    server.1=127.0.0.1:8001:9001
    server.2=127.0.0.1:8002:9002
    server.3=127.0.0.1:8003:9003
    

    配置说明:

    dataDir 数据目录

    dataLogDir 日志目录

    clientPort 服务端口

    上面这三个都配置成第4步目录列表里的各自的目录,没有的需要自己去新建

  2. 服务集群启动

    进入到对应服务的bin目录,然后把三个目录下的服务依次启动即可

    $ ./zkServer.sh start-foreground

上一篇下一篇

猜你喜欢

热点阅读