zookeeper-3.4.x集群:安装部署

集群规划

在 hadoop1、hadoop2、hadoop3 分别部署 zookeeper

在 hadoop1 上安装

登录到 hadoop1 虚拟机,执行下面操作

上传

上传到 /program 目录下

解压

解压 到 /program 目录下:

tar --no-same-owner -zxvf zookeeper-3.4.14.tar.gz -C /program

创建 zkData 目录

进入 zk 目录

cd /program/zookeeper-3.4.14/

创建 zkData 目录:

mkdir zkData

创建 myid 文件

在 zkData 目录下创建 myid 文件

cd /program/zookeeper-3.4.14/zkData/

添加内容

vim myid

内容相当于 身份证号,必须唯一,当前 是 hadoop1,所以文件内容是 1,如下:

1

注意:

  • 文件名必须是 myid
  • 内容左右不要有空格,上下不要有空行
  • 用 vim 命令进行编辑,否则可能有其他字符。不要下载到 windows 进行编辑,否则可能是 windows的换行符 \r\n

配置 zoo.cfg 文件

进入 /program/zookeeper-3.4.14/conf/ 目录

cd /program/zookeeper-3.4.14/conf/

复制

将 zoo_sample.cfg 改名为 zoo.cfg:

cp zoo_sample.cfg zoo.cfg

修改 存储数据位置

vim zoo.cfg

找到 dataDir ,改为如下配置:

dataDir=/program/zookeeper-3.4.14/zkData/

配置集群服务器

让集群中的各个 zookeeper 能够通信

在文件末尾添加下面内容:

server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888
解释:

配置格式为:

server.A=B:C:D
  • A:myid 文件中的内容,表示第几号服务器

  • B:服务器地址

  • C:是这个服务器 Follower 与 集群 Leader 服务器通信端口

  • D:当 Leader 挂了,通过 该端口 重新选举一个 Leader

修改日志路径

默认情况下,在哪个目录启动脚本,Zookeeper运行日志 zookeeper.out 文件,就保存在该目录下

这是不合理的,修改为指定目录下

修改 bin/zkEnv.sh 文件

vim zkEnv.sh

将下面部分(54行左右):

if [ "x${ZOO_LOG_DIR}" = "x" ]
then
    ZOO_LOG_DIR="."
fi

修改成下面:

if [ "x${ZOO_LOG_DIR}" = "x" ]
then
    #ZOO_LOG_DIR="."
    ZOO_LOG_DIR="/program/zookeeper-3.4.14/log"
fi

esc -> :wq 保存

启动时,zookeeper.out 文件生成在 /program/zookeeper-3.4.14/log 目录下

同步文件

同步到 hadoop2

rsync -av /program/zookeeper-3.4.14 root@hadoop2:/program

同步到 hadoop3

rsync -av /program/zookeeper-3.4.14 root@hadoop3:/program

修改 myid 文件

修改 hadoop2 的 myid 文件

将内容修改为 2

修改 hadoop3 的 myid 文件

将内容修改为 3


原文出处:/show_1IX1u5JRl2dw.html