栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

ZooKeeper安装部署集群搭建及选主机制详解

ZooKeeper安装部署集群搭建及选主机制详解

1.首先下载zookeeper  然后进行解压  命令:

tar -zxvf ./apache-zookeeper-3.6.3-bin.tar.gz 

2.重新命名  命令:

mv ./apache-zookeeper-3.6.3-bin  ZkServer01

3.切换到conf配置文件目录   命令:

cd  /usr/local/src/zk/ZkServer01/conf

4.复制一份配置文件做备份  命令:

cp ./zoo_sample.cfg ./zoo.cfg

5.本实例为搭建的伪集群  搭建了6太服务器在同一台机器上   拷贝6台服务器 ZkServer01、ZkServer02、ZkServer03、ZkServer04、ZkServer05、ZkServer06    修改步骤4中的zoo.cfg配置主要改如下三个地方  注意:server.1、server.2、server.3、server.4、server.5、server.6 对应的是myid的内容   分别创建 目录/usr/local/src/zk/ZkServer01/data、 /usr/local/src/zk/ZkServer02/data、/usr/local/src/zk/ZkServer03/data、/usr/local/src/zk/ZkServer04/data、/usr/local/src/zk/ZkServer05/data、/usr/local/src/zk/ZkServer06/data    在这几个目录下创建myid文件   命令:touch myid   分别每个文件输入1、2、3、4、5、6,然后:wq退出   如下:

①、tickTime:基本事件单元,这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,每隔tickTime时间就会发送一个心跳;最小 的session过期时间为2倍tickTime
②、dataDir:存储内存中数据库快照的位置,除非另有说明,否则指向数据库更新的事务日志。注意:应该谨慎的选择日志存放的位置,使用专用的日志存储设备能够大大提高系统的性能,如果将日志存储在比较繁忙的存储设备上,那么将会很大程度上影像系统性能。
③、client:监听客户端连接的端口。
④、initLimit:允许follower连接并同步到Leader的初始化连接时间,以tickTime为单位。当初始化连接时间超过该值,则表示连接失败。
⑤、syncLimit:表示Leader与Follower之间发送消息时,请求和应答时间长度。如果follower在设置时间内不能与leader通信,那么此follower将会被丢弃。
⑥、server.A=B:C:D
    A:其中 A 是一个数字,表示这个是服务器的编号;
    B:是这个服务器的 ip 地址;
    C:Zookeeper服务器之间的通信端口;
    D:Leader选举的端口。

myid文件如下:

6.启动集群  分别进去每个服务器的bin目录下:

cd /usr/local/src/zk/ZkServer01/bin
cd /usr/local/src/zk/ZkServer02/bin
cd /usr/local/src/zk/ZkServer03/bin
cd /usr/local/src/zk/ZkServer04/bin
cd /usr/local/src/zk/ZkServer05/bin
cd /usr/local/src/zk/ZkServer06/bin

启动命令:

./zkServer.sh start  启动
./zkServer.sh status  查看启动状态
./zkServer.sh stop  停止

7.注意到每个节点下分别启动比较麻烦,可以写启动或停止脚本  zookeeper.sh脚本如下:

#!/bin/bash
#判断用户是否传参
if [ $# -ne 1 ];then
    echo "无效参数,用法为: $0  {start|stop|restart|status}"
    exit
fi

#获取用户输入的命令
cmd=$1
#定义函数功能
function zookeeperManger(){
    case $cmd in
    start)
        echo "启动服务"        
        excute start
        ;;
    stop)
        echo "停止服务"
        excute stop
        ;;
    restart)
        echo "重启服务"
        excute restart
        ;;
    status)
        echo "查看状态"
        excute status
        ;;
    *)
        echo "无效参数,用法为: $0  {start|stop|restart|status}"
        ;;
    esac
}

function excute(){
    for i  in ZkServer01 ZkServer02 ZkServer03 ZkServer04 ZkServer05 ZkServer06
    do
            echo "========== $i $1 =========="
              cd /usr/local/src/zk/$i/bin
        ./zkServer.sh $1
            
    done
}

#调用函数
zookeeperManger
 以上脚本改动如下两个位置即可:

7.最后脚本启动  查看状态:

 

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/439227.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号