ZooKeeper分布式配置

安装环境:centos 7

使用的安装包:apache-zookeeper-3.5.7-bin-tar.gz

分布式集群:hadoop102 hadoop103 hadoop104


Step1 安装

一、使用Xftp 7拷贝安装包到opt/software,解压至module。

[user@hadoop102 software]$ tar -zxvf apache-zookeeper-3.5.7-bin-tar.gz -C opt/module/

二、修改module/apache-zookeeper-3.5.7-bin/conf路径下的 zoo_sample.cfg 为 zoo.cfg。

(修改原因:zoo.cfg关联了一个脚本zkeEnv.sh)

[user@hadoop102 conf]$ mv zoo_sample.cfg zoo.cfg

三、zoo.cfg 文件参数解读

1)tickTime=2000

Zookeeper服务器与客户端之间维持心跳的时间间隔,单位为毫秒。

2)initLimit=10

Follower与Leader之间初始连接时能容忍的最多心跳次数,即 tickTime 的数量。

3)syncLimit=5

Follower与Leader之间最大响应时间单位。

如果响应超过 syncLimit * tickTime,Leader认为Follower死掉,从服务器列表中删除Follower。

4)dataDir

Zookeeper中的数据存放位置,默认情况下,写数据的日志文件也保存在此处。

5)clientPort=2181

监听客户端连接的端口。

四、在 zoo.cfg 中修改数据文件目录为module/apache-zookeeper-3.5.7-bin/zkData

[user@hadoop102 conf]$ vim zoo.cfg
dataDir = /opt/module/apache-zookeeper-3.5.7-bin/zkData

【注意!】

系统中没有的目录需要自己在文件下主动创建:

[user@hadoop102 apache-zookeeper-3.5.7-bin]$ mkdir zkData

Step2 分布式部署

 将module/apache-zookeeper-3.5.7-bin/目录内容同步到其他服务器。

[user@hadoop102 module]$ xsync apache-zookeeper-3.5.7-bin/

        xsync是之前创建的分发文件,末尾会给出代码。

2.1 配置服务器编号文件

在存放数据的目录(zkData)下创建 myid 文件,并在 myid 中配置服务器编号为1。分发 myid,分别修改其他服务器上的 myid 文件内容为2、3。

[user@hadoop102 zkData]$ touch myid
[user@hadoop102 zkData]$ vi myid
[user@hadoop102 zkData]$ xsync myid

2.2 配置 zoo.cfg 文件

在 zoo.cfg 中增加如下配置并分发至其他服务器。

###########cluster###########
server.1=hadoop102:2888:3888
server.2=hadoop103:2888:3888
server.3=hadoop104:2888:3888

server.1 表示第几号服务器

hadoop102 表示服务器地址

2888 是Follower与Leader服务器交换信息的端口

3888 是Leader服务器挂掉后执行选举时服务器相互通信的端口

2.3 集群操作

1)分别启动Zookeeper。

[user@hadoop102 apache-zookeeper-3.5.7-bin]$ bin/zkServer.sh start
[user@hadoop103 apache-zookeeper-3.5.7-bin]$ bin/zkServer.sh start
[user@hadoop104 apache-zookeeper-3.5.7-bin]$ bin/zkServer.sh start

2)查看服务器状态

[user@hadoop102 apache-zookeeper-3.5.7-bin]$ bin/zkServer.sh status
[user@hadoop103 apache-zookeeper-3.5.7-bin]$ bin/zkServer.sh status
[user@hadoop104 apache-zookeeper-3.5.7-bin]$ bin/zkServer.sh status

        出现一个leader和两个follower代表启动成功。

3)启动客户端

[user@hadoop103 apache-zookeeper-3.5.7-bin]$ bin/zkCli.sh

2.4 集群启动失败的解决办法

配置完毕后,在查看状态时发现提示:Error contacting service. It is probably not running.

检查发现有防火墙未关闭,在centos 7中对防火墙的操作方法如下:

// 查看防火墙状态
systemctl status firewalld.service
// 关闭防火墙
sudo systemctl stop firewalld

如果关闭防火墙仍然不能解决问题,请去logs中的输出日志查看。有可能是端口号占用等问题,修改端口号即可。


/home/user/bin目录下创建集群分发脚本xsync。

#!/bin/bash

if [ $# -lt 1 ]
then
    echo Not Enough Arguement!
    exit;
fi

for host in hadoop102 hadoop103 hadoop104
do
echo ================= $host =================

for file in $@
do
    if [ -e $file ]
    then
        pdir=$(cd -P $(dirname $file); pwd)
        fname=$(basename $file)
        ssh $host "mkdir -p $pdir"
        rsync -av $pdir/$fname $host:$pdir
    else
        echo $file does not exists!
    fi
  done
done

修改脚本具有执行权限,将脚本复制到/bin中以便全局调用。

[user@hadoop102 bin]$ chmod +x xsync
[user@hadoop102 bin]$ sudo cp xsync /bin/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值