Linux系统的Zookeeper集群环境搭建

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

说明:提供服务的机器数量2*n + 1 奇数台
至少要超过半数,zookeeper才可以提供服务,因为Zookeeper只允许半数宕机。
操作步骤:

  1. 下载Zookeeper安装包
    这里我用到的是zookeeper-3.4.8
    下载地址:http://mirror.bit.edu.cn/apache/zookeeper/
    下载页面截图

  2. 解压到指定目录
    准备三台linux服务器,每台服务器都放zookeeper压缩文件。解压zookeeper-3.4.8.tar.gz到一个目录下,比如解压到根目录下/zookeeper 文件夹
    解压命令:
    tar zxvf zookeeper-3.4.8.tar.gz

  3. 修改hosts文件
    ZooKeeper建议使用hostname,而非ip。这需要对主机的/etc/hostname和/etc/hosts做host绑定。
    ZooKeeper以Fast Paxos算法为基础,用于完成leader的选举工作,所以至少需要3个节点。
    为此,我准备了以下3个节点:
    172.16.101.83 ubuntu-zookeeper-01
    172.16.101.91 ubuntu-zookeeper-02
    172.16.101.94 ubuntu-zookeeper-03
    修改命令:
    sudo vim /etc/hosts
    修改如下:
    这里写图片描述
    达到如下效果则配置成功:
    这里写图片描述

  4. 修改配置文件
    打开解压后的Zookeeper文件目录下conf目录的zoo_sample.xml文件
    ubuntu-zookeeper-01:代表zookeeper的主机名
    12888端口:代表访问Zookeeper的端口
    13888端口:代表重新选举leader的端口
    这里写图片描述

  5. linux不同机器之间无法访问,端口没有开通处理办法
    开放端口命令:
    iptables -A INPUT -p tcp –dport 12888-j ACCEPT
    或者编辑 /etc/sysconfig/iptables 增加:
    -A INPUT -m state –state NEW -m tcp -p tcp –dport 12888 -j ACCEPT
    查看端口是否已经开放
    /etc/init.d/iptables status
    查看端口占用,来检验下是不是已经打开了某某端口
    netstat -an | grep 端口号
    修改之后,重启iptables
    service iptables restart

  6. 新建dataDir目录
    在根目录下新建/tmp/zookeeper,不过不建议新建tmp目录,这个是临时目录,最好自己新建其他名字的目录。三台服务器都需要新建目录。
    linux系统新建文件夹命令:
    mkdir zookeeper

  7. 创建myid文件
    在三台主机下,分别在刚才新建的dataDir目录下新建名称为myid,内容分别为1,2,3的文件
    命令如下:
    echo “1” > myid
    echo “2” > myid
    echo “3” > myid
    打开myid文件查看内容:
    cat myid

  8. 修改权限
    修改bin目录下文件权限为可执行:
    原来bin目录下文件权限为:
    -rw-r–r–
    修改bin目录下文件夹权限为可执行权限:
    -rwxr-xr-x
    给bin目录下所有用户添加x–可执行权限
    chomd -R a+x bin/

  9. 启动Zookeeper
    启动Zookeeper命令:
    ./zkServer.sh start
    查看集群的状态:
    ./zkServer.sh status

猜你喜欢

转载自blog.csdn.net/yinkgh/article/details/52301063