CentOS7单机安装Zookeeper伪集群

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zwdwinter/article/details/44675199

操作环境

CentOS:CentOS-7-x86_64-DVD-1503-01

ZooKeeper:zookeeper-3.4.13.tar.gz

安装wget命令

  • yum -y install wget

安装Java

  1. 查看当前系统是否有Java

  2. java -version

  1. 查看yum库中都有哪些jdk版本

    yum search java|grep jdk
  2. 安装Java1.8(期间会有两次询问,均输入y即可)

    yum install java-1.8.0-openjdk
  3. 查看Java版本,验证是否安装成功

  4. java -version

单机安装Zookeeper伪集群

  1. 创建安装路径:

    mkdir -p /usr/local/dev/zookeeper
  2. 下载Zookeeper:

    wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
  3. 下载完成后进行解压:

    tar zxvf zookeeper-3.4.13.tar.gz
  4. 将解压后的Zookeeper文件重命名并复制,共三份:

    mv zookeeper-3.4.13 zookeeper-3.4.13_1
    cp -a zookeeper-3.4.13_1 zookeeper-3.4.13_2
  5. 分别进行三个zookeeper文件夹下的conf目录下,创建zoo.cfg文件:

    cp zoo_sample.cfg zoo.cfg
  6. 修改这三个zoo.cfg的内容,并创建/var/lib/zookeeper_1、/var/lib/zookeeper_2、/var/lib/zookeeper_3目录:

  7. 下面说明一下需要注意的几点:

    • dataDir属性配置的目录是指实例数据的存放路径,不同的实例需进行区分。

    • clientPort是指客户端连接本实例的端口号,不同的实例也要区分。比如,可以分别指定为:2181、2182、2183。

    • server.{X}这个X可以取数字,用来标识集群中唯一的一个实例。配置了多少个server.{X}就表示集群中有多少个实例。后面值的格式为:{host}:{port1}:{port2}

      其中:

      • {host}为实例所在的主机IP,这里由于都在一台机器上,所以都指定为本机地址;

      • {port1}是集群中实例之间用于数据通信的端口;

      • {port2}是集群中实例进行leader选举时使用的通信端口(注:对于同一实例{port1}和{port2}是不可相同的。对于同一台机器部署多个实例的情况,不同实例的同一种端口也是需要区分的)。

  8. 配置myId文件

    前面提到的server.{X}配置项中的{X}就是一个实例的myid,它需要被写在对应实例的{dataDir}/myid文件中。

    下面需要在每一个实例指定的{dateDir}目录下创建一个名为myid的文件,文件的内容就是一个数字,对应server.{X}中的X。

    比如,这里是这样配置的: 在/var/lib/zookeeper_1/myid文件中写入1; 在/var/lib/zookeeper_2/myid文件中写入2; 在/var/lib/zookeeper_3/myid文件中写入3。

  9. 创建启动和停止脚本

    对于多个实例,分别启动和停止比较麻烦,可以写一个脚本来自动完成这个工作。 start-zk-servers.sh的内容

    echo `/usr/local/dev/zookeeper/zookeeper-3.4.13_1/bin/zkServer.sh start`
    echo `/usr/local/dev/zookeeper/zookeeper-3.4.13_2/bin/zkServer.sh start`
    echo `/usr/local/dev/zookeeper/zookeeper-3.4.13_3/bin/zkServer.sh start`

    stop-zk-servers.sh的内容:

    echo `/usr/local/dev/zookeeper/zookeeper-3.4.13_1/bin/zkServer.sh stop`
    echo `/usr/local/dev/zookeeper/zookeeper-3.4.13_2/bin/zkServer.sh stop`
    echo `/usr/local/dev/zookeeper/zookeeper-3.4.13_3/bin/zkServer.sh stop`

    脚本创建后需要对脚本进行授权,默认授权最大权限:

    chmod 777 ./start-zk-servers.sh
    chmod 777 ./stop-zk-servers.sh

10.现在可以启动zookeeper了

猜你喜欢

转载自blog.csdn.net/zwdwinter/article/details/44675199