zoukankan      html  css  js  c++  java
  • zookeeper 学习总结(三)——linux上部署单机以及集群

    一、单机环境部署

    安装步骤

    1、下载zookeeper包

    官网下载地址: http://www.apache.org/dist/zookeeper/

    百度网盘:

    链接:https://pan.baidu.com/s/1UdR3rLqx4mO7n2vkILfCHA 提取码:k8b5

     

    2、上传linux系统,解压缩压缩包

    #解压到 /usr/local/server 目录下
    tar -zxvf zookeeper-3.4.14.tar.gz -C /usr/local/server

    3、进入 zookeeper-3.4.14 目录,创建 data 文件夹

    cd zookeeper-3.4.14/
    mkdir data

     

    4、修改zoo.cfg中的data属性

    #进入conf目录
    cd conf
    #修改 zoo_sample.cfg文件名为 zoo.cfg
    mv zoo_sample.cfg zoo.cfg
    ​
    #修改zoo.cfg中的data属性
    dataDir=/usr/local/server/zookeeper-3.4.14/data

    5、zookeeper 服务启动

    进入bin目录,启动服务输入命令

    ./zkServer.sh start

    输出以下内容表示启动成功

    zkServer.sh常用命令

    • 服务启动

      ./zkServer.sh start
    • 关闭服务输入命令

      ./zkServer.sh stop

    • 查看状态

      ./zkServer.sh status

    如果启动状态,提示

    如果未启动状态,提示:

     

    二、集群环境部署

      真实的集群是需要部署在不同的服务器上的,但是在我们测试时启动多个虚拟机的内存消耗太大,所以我们通常会搭建伪集群,也就是把所有的服务都搭建在一台虚拟机上,用端口进行区分。

     

    准备工作

    1、解压zookeeper到zkcluster的目录下,修改文件名为zookeeper-1,并复制两份分别为zookeeper-2,zookeeper-3
    
    
    #创建zk集群应用目录
    mkdir /usr/local/server/zkcluster
    ​
    #解压zookeeper到zkcluster目录
    tar -zxvf zookeeper-3.4.14.tar.gz -C /usr/local/server/zkcluster
    ​
    #进入zkcluster目录,修改zk解压包名称,并复制两份
    cd /usr/local/server/zkcluster
    mv zookeeper-3.4.14/ zookeeper-1    #修改文件名称
    cp -r zookeeper-1/ zookeeper-2      #复制文件夹
    cp -r zookeeper-1/ zookeeper-3
    
    

    2、在解压后的三个 Zookeeper-* 目录下创建data目录

    cd .zookeeper-1
    mkdir data
    
    cd .zookeeper-2
    mkdir data
    
    cd .zookeeper-3
    mkdir data

    3、修改zoo.cfg中的data属性(三个zk都要修改)

    #进入conf目录
    cd conf
    
    #修改 zoo_sample.cfg文件名为 zoo.cfg
    mv zoo_sample.cfg zoo.cfg
    
    #修改zoo.cfg中的data属性
    dataDir=/usr/local/server/zkcluster/zookeeper-1/data
    
    #修改三个zk服务端口
    #zookeeper-1
    clientPort=2181
    #zookeeper-2
    clientPort=2182
     #zookeeper-3
    clientPort=2183

    配置集群

    (1)在每个zookeeper-*的 data 目录下创建一个 myid 文件,内容分别是1、2、3 。这个文件就是记录每个服务器的ID

    #进入data目录
    cd /usr/local/server/zkcluster/zookeeper-1/data/
    
    #传进myid文件,并设置值(zookeeper-1为1 zookeeper-2为2 zookeeper-3为3)
    touch myid

    查看zookeeper-1的myid值:

    (2)在每一个zookeeper 的 zoo.cfg配置客户端访问端口(clientPort)和集群服务器IP列表。

    #server.服务器ID(myid)=服务器IP地址:服务器之间通信端口:服务器之间投票选举端口
    server.1=192.168.126.99:2881:3881
    server.2=192.168.126.99:2882:3882
    server.3=192.168.126.99:2883:3883

     

    启动集群

      依次zookeeper-1、zookeeper-2、zookeeper-3启动三个zk实例,服务启动时会发起选举,其中有一个leader和两个follower。按选举原则,leader为zookeeper-2 其他为follower。

      使用 ./zkServer.sh status查看状态如下:

     

  • 相关阅读:
    模块
    python运算符与表达式
    subShell与代码块
    参数展开与特殊字符
    变量和参数
    shelll Test
    Cypher查询语言--Neo4j 入门 (一)
    那些争议最大的编程观点
    大型网站架构不得不考虑的10个问题
    大型网站架构演变
  • 原文地址:https://www.cnblogs.com/TvvT-kevin/p/12249727.html
Copyright © 2011-2022 走看看