当前位置:   article > 正文

Zookeeper 在linux下安装:3种安装模式_server.1=192.168.200.11:2888:3888

server.1=192.168.200.11:2888:3888

目录:

  1. 单机安装
    1. 下载
    2. 上传、解压
    3. 修改环境变量
    4. 修改配置文件
    5. 启动
    6. 验证
  2. 伪分布式安装
    1. 下载
    2. 上传、解压
    3. 修改环境变量
    4. 修改配置文件
    5. 启动
    6. 验证
  3. 全分布式安装(准备3台虚拟机测试)
    1. 下载(3台虚拟机同操作)
    2. 上传、解压(3台虚拟机同操作)
    3. 修改环境变量(3台虚拟机同操作)
    4. 修改配置文件
    5. 启动
    6. 验证

一.单机安装

详细步骤:

  1. 下载:下载zookeeper的tar包 http://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/
  2. 上传、解压到/home目录下
    # tar -zxvf  zookeeper-3.4.10.tar.gz   

  3. 修改环境变量,将bin目录添加到PATH路径下
    # vi /etc/profile
    1. #最后两行添加
    2. ZOOKEEPRE_HOME=/home/zookeeper-3.4.10
    3. PATH=$PATH:$ZOOKEEPER_HOME/bin
  4. 修改配置文件 
    将/conf路径下的zoo_sample.cfd文件更改名称为zoo.cfg,并修改如下 (修改文中的一行即可)


    基本配置说明:
     
    1. tickTime
      心跳基本时间单位,以毫秒为单位, 默认值是 2000,ZK基本上所有的时间都是这个时间的整数倍。
    2. initLimit
      默认值是 10,tickTime的个数,表示在leader选举结束后,followers与leader同步需要的时间,如果followers比较多或者说leader的数据灰常多时,同步时间相应可能会增加,那么这个值也需要相应增加。当然,这个值也是follower和observer在开始同步leader的数据时的最大等待时间(setSoTimeout)
    3. syncLimit
      tickTime的个数,默认值是 5。这时间容易和上面的时间混淆,它也表示follower和observer与leader交互时的最大等待时间,只不过是在与leader同步完毕之后,进入正常请求转发或ping等消息交互时的超时时间。
    4. dataDir
      内存数据库快照存放地址,如果没有指定事务日志存放地址(dataLogDir),默认也是存放在这个路径下,建议两个地址分开存放到不同的设备上。
    5. clientPort
      配置ZK监听客户端连接的端口
      maxClientCnxns: 在 socket 级别限制单个客户端与单台服务器之前的并发连接数量, 可以通过 IP 地址来区分不同的客户端。它用来防止某种类型的 DoS 攻击, 包括文件描述符耗尽。默认值是 60。将其设置为 0 将完全移除并发连接数的限制。
    6. autopurge.snapRetainCount
      配置 ZooKeeper 在自动清理的时候需要保留的数据文件快照的数量和对应的事务日志文件, 默认值是 3。
    7. autopurge.purgeInterval
      和参数 autopurge.snapRetainCount 配套使用, 用于配置 ZooKeeper 自动清理文件的频率, 默认值是 1, 即默认开启自动清理功能, 设置为 0 则表示禁用自动清理功能。
  5. 启动与关闭zookeeper
    1. 启动
      # zkServer.sh start
    2. jps查看服务进程
      # jps
    3. 关闭
      # zkServer.sh stop

 

二.伪分布式安装

步骤:

  1. 下载、上传、解压、安装、修改环境变量同【单机安装】
  2. 修改配置文件
    1. 第一步:将zoo.cfg复制3份
      1. 执行以下命令:
      2. # cd conf
      3. # cp zoo.cfg zoo1.cfg
      4. # cp zoo.cfg zoo2.cfg
      5. # cp zoo.cfg zoo3.cfg
      结果如下图所示:
    2. 第二步:修改zoo1.cfg 、zoo2.cfg 、zoo3.cfg,和【单机安装中zoo.cfg相比,有3处修改】,结果如下图
      zoo1.cfg
      1. server.1=localhost:2887:3887
      2. server.2=localhost:2888:3888
      3. server.3=localhost:2889:3889
      4. 说明:格式为 server.serverid=host:tickpot:electionport
      5. server: 固定写法
      6. serverid: 每个服务器的指定ID(必须处于1-255之间,必须每一台机器不能重复)
      7. host: 主机名或者ip地址
      8. tickpot: 心跳通信端口
      9. electionport: 选举端口
      zoo2.cfg

      zoo3.cfg
    3. 第三步:除了修改 zoo.cfg 配置文件,集群模式下还要配置一个文件 myid。
      注:如果是集群模式,在我们启动zookeeper服务之前,我们需要在它的dataDir下创建myid文件,内容为它的id。所以我们配置的是集群模式,我们需要先创建myid文件。

      在zookeeper安装目录下创建目录data1,data1下面创建myid 里面的内容为1,
      在zookeeper安装目录下创建目录data2,data1下面创建myid 里面的内容为2,
      在zookeeper安装目录下创建目录data3,data2下面创建myid 里面的内容为3。
  3. 启动
    由于所有的配置文件都在/conf文件夹下面,因此要执行三次,而且要加文件名的参数(使用的是相对路径),不然会默认执行zoo.cfg这个文件 
  4. 验证
    jps查看进程:可以看到开启了3个zk
  5. 查看zk状态
    查看leader和follower:只有一个leader

 

三.全分布式安装

详细步骤:

  1. 准备3台虚拟机,并且3台虚拟机之间免密传输
    1. 假设第一台虚拟机的ip为192.168.200.11
    2. 假设第二台虚拟机的ip为192.168.200.12
    3. 假设第三台虚拟机的ip为192.168.200.13
  2. 3台虚拟机都安装:
    1. 下载
    2. 解压
    3. 配置环境变量(1-3步同【单机安装】)
    4. 修改配置文件 zoo.cfg
       
      1. #指定ZooKeeper数据存储目录
      2. dataDir=/home/zookeeper-3.4.10/data
      3. #指定ZooKeeper日志存储目录
      4. dataDirLog=/home/zookeeper-3.4.10/log
      5. #直接在文件中追加
      6. #格式:server.服务器编号=主机名:心跳端口:选举端口
      7. server.1=192.168.200.11:2888:3888
      8. server.2=192.168.200.12:2888:3888
      9. server.3=192.168.200.13:2888:3888

      如果三台虚拟机都设置了ip映射

      1. [root@kd01 /]# cat /etc/hosts
      2. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
      3. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
      4. 192.168.200.11 kd01
      5. 192.168.200.12 kd02
      6. 192.168.200.13 kd03
      7. [root@kd01 /]#

      那么zoo.cfg也可以为:

      1. #指定ZooKeeper数据存储目录
      2. dataDir=/home/zookeeper-3.4.10/data
      3. #指定ZooKeeper日志存储目录
      4. dataDirLog=/home/zookeeper-3.4.10/log
      5. #直接在文件中追加
      6. #格式:server.服务器编号=主机名:心跳端口:选举端口
      7. server.1=kd01:2888:3888
      8. server.2=kd02:2888:3888
      9. server.3=kd03:2888:3888

       

    5. 创建myid文件:
      注:如果是集群模式,在我们启动zookeeper服务之前,我们需要在它的dataDir下创建myid文件,内容为它的id。所以我们配置的是集群模式,我们需要先创建myid文件。
      1. 第一步:根据zoo.cfg配置文件中的 dataDir=/home/zookeeper-3.4.10/data,在三台虚拟机的zookeeper安装目录下创建data目录,然后创建mydi文件,并且将server.id的id添加到myid文件中。

        1号虚拟机:
        1. [root@kd01 /]$ mkdir /home/zookeepeer-3.4.10/data
        2. [root@kd01 /]$ cd /home/zookeepeer-3.4.10/data
        3. [root@kd01 data]$ echo 1 > myid

        2号虚拟机:

        1. [root@kd02 /]$ mkdir /home/zookeepeer-3.4.10/data
        2. [root@kd02 /]$ cd /home/zookeepeer-3.4.10/data
        3. [root@kd02 data]$ echo 2 > myid
      2. 3号虚拟机:

        1. [root@kd03 /]# mkdir /home/zookeepeer-3.4.10/data
        2. [root@kd03 /]# cd /home/zookeepeer-3.4.10/data
        3. [root@kd03 data]$ echo 3 > myid

        第二步:在三台虚拟机的zookeeper安装目录下创建log目录
        # mkdir /home/zookeeper-3.4.10/log

    6. 启动:3台虚拟机都启动zookeeper
      1. ​​​​​​​启动:zkServer.sh start
      2. 停止:zkServer.sh stop
      3. 查看状态:zkServer.sh status
      4. 查看进程 :jps
      5. 3台机器上都有QuorumPeerMain进程

       

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/968253?site
推荐阅读
相关标签
  

闽ICP备14008679号