zoukankan      html  css  js  c++  java
  • Linux系统zookeeper环境搭建(单机、伪分布式、分布式)

        本人现在对zookeeper的环境搭建做一个总结,一般zookeeper的安装部署可以有三种模式,单机模式、伪分布式和分布式,这三种模式在什么时候应用具体看大家的使用场景,如果你只有一台机器且只是想自己开发测试时用,你可以安装个单机模式,简单又实用。如果想装逼但又没有足够的机器,那你可以选择伪分布式的方式搭建,这可以满足你内心高大上的分布式需求又可以满足没有机器的屌丝现状。如果手头有三台以上的服务器,那就可以大展高富帅的风采,直接上真的分布式,真的分布式部署一般是在系统的正式环境中应用。下面我来对这三种搭建模式作个介绍。

        本人用的是CentOS系统,zookeeper-3.4.9,java-1.8,Java环境的搭建以及zookeeper的下载我在这里就不再多说了,我的所有操作都是在/data/zookeeper目录下。

    一、单机模式

    1.新建目录zookeeper_single,将下载好的zookeeper-3.4.9.tar.gz拷进该目录。

    2.解压zookeeper。

    tar –zxvf  zookeeper-3.4.9.tar.gz

    3.在zookeeper-3.4.9目录下新建data,logs两个文件夹。

    4.进入zookeeper-3.4.9/conf目录,把zoo_sample.cfg文件复制一份名字改成zoo.cfg。

    cp zoo_sample.cfg zoo.cfg

    5.修改zoo.cfg文件,需要修改以下几个地方。

    dataDir=/data/zookeeper/zookeeper_single/zookeeper-3.4.9/data

    dataLogDir=/data/zookeeper/zookeeper_single/zookeeper-3.4.9/logs

    clientPort=2181

    6.配置完以后,就可以启动zookeeper服务了,进入zookeeper-3.4.9/bin目录,启动zookeeper服务。

    ./zkServer.sh start

    7.启动完成后,查看服务状态。

    ./zkServer.sh status

    二、伪分布式模式

    1.新建目录zookeeper_cluster_fake,将下载好的zookeeper-3.4.9.tar.gz拷进该目录。

    2.解压zookeeper。

    tar –zxvf  zookeeper-3.4.9.tar.gz

    3.解压后将zookeeper-3.4.9改名为zookeeper_01,在zookeeper_01目录下新建data,logs两个文件夹。

    4.进入zookeeper_01/conf目录,把zoo_sample.cfg文件复制一份名字改成zoo.cfg。

    cp zoo_sample.cfg zoo.cfg

    5.将zookeeper_01再复制两份分别取名为zookeeper_02和zookeeper_03。

    cp zookeeper_01 zookeeper_02

    cp zookeeper_01 zookeeper_03

    6.分别修改zookeeper_01,zookeeper_02和zookeeper_03中conf目录下zoo.cfg文件。

    zookeeper_01的配置(其中前三项是配置文件中有的,只要改成自己的配置就可以,后面三项添加到配置文件末尾):

    dataDir=/data/zookeeper/zookeeper_cluster_fake/zookeeper_01/data
    
    dataLogDir=/data/zookeeper/zookeeper_cluster_fake/zookeeper_01/logs
    
    clientPort=2181
    
    
    server.1=192.168.71.82:2881:3881
    
    server.2=192.168.71.82:2882:3882
    
    server.3=192.168.71.82:2883:3883

    zookeeper_02的配置:

    dataDir=/data/zookeeper/zookeeper_cluster_fake/zookeeper_02/data
    
    dataLogDir=/data/zookeeper/zookeeper_cluster_fake/zookeeper_02/logs
    
    clientPort=2182

    server.
    1=192.168.71.82:2881:3881 server.2=192.168.71.82:2882:3882 server.3=192.168.71.82:2883:3883

    zookeeper_03的配置:

    dataDir=/data/zookeeper/zookeeper_cluster_fake/zookeeper_03/data
    
    dataLogDir=/data/zookeeper/zookeeper_cluster_fake/zookeeper_03/logs
    
    clientPort=2183

    server.1=172.16.20.101:2881:3881 server.2=172.16.20.101:2882:3882 server.3=172.16.20.101:2883:3883

     7.分别在zookeeper_01,zookeeper_02和zookeeper_03三个目录的data下新建myid文件,内容分别为server.1,server.2,server.3后面的数字。

    三、分布式模式

    1.选取三台服务器172.16.20.101,172.16.20.102,172.16.20.103。

    2.在172.16.20.101这台服务器/data/zookeeper目录下操作,新建目录zookeeper_cluster,将下载好的zookeeper-3.4.9.tar.gz拷进该目录。

    3.解压zookeeper。

    tar -zxvf zookeeper-3.4.9.tar.gz

    4.在/data/zookeeper/zookeeper_cluster/zookeeper-3.4.9目录下新建data,logs两个文件夹。

    5.进入zookeeper-3.4.9/conf目录,把zoo_sample.cfg文件复制一份名字改成zoo.cfg。

    cp zoo_sample.cfg zoo.cfg

    6.修改zoo.cfg文件,需要修改以下几个地方:

    dataDir=/data/zookeeper/zookeeper_cluster/zookeeper-3.4.9/data
    
    dataLogDir=/data/zookeeper/zookeeper_cluster/zookeeper-3.4.9/logs
    
    clientPort=2181

    同时在文件末尾添加:

    server.1=172.16.20.101:2888:3888
    
    server.2=172.16.20.102:2888:3888
    
    server.3=172.16.20.103:2888:3888

    7.将配置好的zookeeper复制到另外两台服务器上。

    scp -r /data/zookeeper root@172.16.20.102:/data

    scp -r /data/zookeeper root@172.16.20.103:/data

    8.分别在三台服务器的/data/zookeeper/zookeeper_cluster/zookeeper-3.4.9/data目录下新建myid文件,内容分别为server.1,server.2,server.3后面的数字,例如:在172.16.20.101服务器上执行如下命令,另外两台服务器类似。

    echo "1" > myid

    9.分别进入三台服各器的/data/zookeeper/zookeeper_cluster/zookeeper-3.4.9/bin目录下,启动服务。

    ./zkServer.sh start

    10.启动完成后,查看服务状态。

    ./zkServer.sh status

  • 相关阅读:
    “main cannot be resolved or is not a field”解决方案
    .net学习笔记----有序集合SortedList、SortedList<TKey,TValue>、SortedDictionary<TKey,TValue>
    MVC学习笔记---ModelBinder
    MVC学习笔记---MVC框架执行顺序
    服务器知识----IIS架设问题
    C/C++学习笔记---primer基础知识
    C/C++学习笔记----指针的理解
    C#学习笔记-----C#枚举中的位运算权限分配
    CSS学习笔记----CSS3自定义字体图标
    Clr Via C#读书笔记----基元线程同步构造
  • 原文地址:https://www.cnblogs.com/zengxiaoliang/p/8442815.html
Copyright © 2011-2022 走看看