zookeeper分布式安装部署

在master、slave1、slave2三个节点上部署zookeeper
zookeeper:zookeeper-3.4.9

一、配置其中一个节点

1.解压安装
将zookeeper-3.4.9的压缩包解压在/home/hadoop/hadoop_home/下(个人习惯,路径自定义)

tar -zxvf zookeeper-3.4.9.tar.gz -C /home/hadoop/hadoop_home/

2.复制/home/hadoop/hadoop_home/zookeeper-3.4.9/conf目录下的zoo_sample.cfg,改名为zoo.cfg (个人习惯,防止配置的时候把文件玩坏)

cp zoo_sample.cfg zoo.cfg

3.在/home/hadoop/hadoop_home/zookeeper-3.4.9/目录下创建文件夹zkData
mkdir -p zkData
4.配置zoo.cfg文件
修改dataDir
在这里插入图片描述

dataDir=/home/hadoop/hadoop_home/zookeeper-3.4.9/zkData

在文件中添加以下信息:
在这里插入图片描述

server.1=slave1:2888:3888
server.2=slave2:2888:3888
server.3=master:2888:3888

注:
zkData文件夹是用来存放快照数据的

server.1=slave1:2888:3888
server.a=b:c:d
a表示服务器的编号,可以是12345任意数
b是服务器a的ip(我用的是主机名)
c是a服务器与集群中的leader服务器交换信息的端口
d是备用端口,万一leader服务器挂了,需要一个端口来重新进行选举,选出一个新的leader,而这个端口就是用来执行选举时服务器相互通信的端口

5.在zkData目录下创建myid文件,并在myid文件中加入当前主机对应的服务器编号

vim myid

比如我当前正在配置的主机是master,是server.3,那么服务器编号就是3

二、配置其他节点

1.将配置好的zookeeper发送到其他节点上

scp -r zookeeper-3.4.9/ hadoop@slave1:/home/hadoop/hadoop_home

2.将其他节点上的myid文件中的服务器编号修改为其所对应的服务器的编号,如slave1节点是1号服务器,那么myid中的编号应该为1

三、对zookeeper的基本操作

1.启动zookeeper
在/home/hadoop/hadoop_home/zookeeper-3.4.9/bin/目录下运行

hadoop@slave1:~/hadoop_home/zookeeper-3.4.9/bin$ ls
README.txt  zkCleanup.sh  zkCli.cmd  zkCli.sh  zkEnv.cmd  zkEnv.sh  zkServer.cmd  zkServer.sh  zookeeper.out
hadoop@slave1:~/hadoop_home/zookeeper-3.4.9/bin$ ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /home/hadoop/hadoop_home/zookeeper-3.4.9/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

在这里插入图片描述
2.查看状态

hadoop@slave1:~/hadoop_home/zookeeper-3.4.9/bin$ ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/hadoop/hadoop_home/zookeeper-3.4.9/bin/../conf/zoo.cfg
Mode: follower
hadoop@slave1:~/hadoop_home/zookeeper-3.4.9/bin$ 

在这里插入图片描述
3.停止zookeeper

hadoop@slave1:~/hadoop_home/zookeeper-3.4.9/bin$ ./zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /home/hadoop/hadoop_home/zookeeper-3.4.9/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
hadoop@slave1:~/hadoop_home/zookeeper-3.4.9/bin$ 

在这里插入图片描述

四、注意!

启动zookeeper时可能会出现这样的一个错误:

bin/zkServer.sh: 81: /opt/zookeeper-3.4.9/bin/zkEnv.sh: Syntax error: "(" unexpected (expecting "fi")

原因是脚本里面用到的shell版本与系统当前使用的shell版本不兼容,导致异常。
查看当前ubuntu系统的shell,默认是使用dash,但是脚本里面是使用的bash,问题就在这里了。
解决办法:
root用户修改当前系统的shell版本:把dash改成bash

 root@master:~# ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Feb 13 14:56 /bin/sh -> dash
root@master:~# ln -sf bash /bin/sh
root@master:~# ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Mar 12 21:53 /bin/sh -> bash
root@master:~# 

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值