大数据-玩转数据-Zookeper集群部署

大数据-玩转数据-Zookeper集群部署

1、说明

前面已安装了hadoop,yarn,spark,下面接着安装ZooKeeper

2、 安装ZooKeeper

2.1 下载压缩包
官网:http://zookeeper.apache.org/releases.html
需要下载bin包, apache-zookeeper-3.7.0-bin.tar.gz
2.2 解压
hadoop用户登录(已有root权限)

tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz

2.3 重命名

mv apache-zookeeper-3.7.0-bin.tar.gz zookeeper

将解压后的文件夹重命名,方便后续操作
2.4 修改环境变量

vi /home/hadoop/.bashrc

#在.bashrc文件结尾添加内容

export ZOOKEEPER_HOME=/home/hadoop/zookeeper 
export PATH=$PATH:$ZOOKEEPER_HOME/bin

2.5生效环境变量

source /home/hadoop/.bashrc

2.6 修改配置文件

cd zookeeper/conf 
cp zoo_sample.cfg  zoo.cfg 
vi zoo.cfg
 # 打开配置文件进行修改

添加以下内容

dataDir=/home/hadoop/zookeeper/data 
dataLogDir=/home/hadoop/zookeeper/log 
server.1=server1:2888:3888 
# (主机名, 心跳端口、数据端口) 搭建集群的其他服务器的信息 server1是在/etc/hosts文件中进行域名映射的主机名,如果没有做映射那么就使用ip地址
server.2=server2:2888:3888
server.3=server3:2888:3888

2.7 创建文件夹
cd /home/hadoop/zookeeper

mkdir data # 是在配置文件中设置的目录
mkdir  log 

2.8 添加myid
进入data文件夹

cd data

创建新文件 myid

vi myid

myid 文件 添加内容是在配置文件中设置的主机对应的数字

1 

2.9 集群分发
分发zoopkeeper

scp -r /home/hadoop/zookeeper hadoop@hadoop2:/home/hadoop/
scp -r /home/hadoop/zookeeper hadoop@hadoop3:/home/hadoop/

分发环境配置

scp /home/hadoop/.bashrc hadoop2:/home/hadoop/
scp /home/hadoop/.bashrc hadoop3:/home/hadoop

修改其他服务器上的myid
在hadoop2上将myid文件的内容修改为 2
在hadoop3上将myid文件的内容修改为 3
2.10 启动
zkServer.sh start # 注意:每台服务器都要启动
2.11 查看集群状态

jps  # 查看进程

出现QuorumPeerMain进程代表启动成功

2122 QuorumPeerMain
2153 Jps

查看集群的状态,主从信息

zkServer.sh status 

会输出以下信息

ZooKeeper JMX enabled by default
Using config: /root/zookeeper/bin/../conf/zoo.cfg # 配置文件路径
Mode: leader/ follower

leader代表老大,follower代表小弟

3、 ZooKeeper集群启动shell脚本

3.1 创建shell文件

vi /home/hadoop/ZK_All_Start.sh 
#!/bin/bash
echo "开始启动zookeeper服务..."
for i in 1 2 3
do
echo "正在启动hadoop$i的zookeeper服务..."
# 需要将hadoop修改为自己集群的主机名 我的主机名分别为hadoop1, hadoop2, hadoop3
ssh hadoop$i "source /home/hadoop/.bashrc; /home/hadoop/zookeeper/bin/zkServer.sh start"
# /home/hadoop/zookeeper/bin/zkServer.sh start 这里需要修改为自己的解压路径
done

4、总结

ZooKeeper 默认只有 Leader 和 Follower 两种角色,没有 Observer 角色。为了使用 Observer 模式,在任何想变成Observer的节点的配置文件中加入:peerType=observer 并在所有 server 的配置文件中,配置成 observer 模式的 server 的那行配置追加 :observer

ZooKeeper 是一个高可用的分布式数据管理与协调框架。基于对ZAB算法的实现,该框架
能够很好地保证分布式环境中数据的一致性。也是基于这样的特性,使得 ZooKeeper 成为了
解决分布式一致性问题的利器。

5、补充

配置zoo.cfg时

server.0=spark1:2888:3888(此处有空格)
server.1=spark2:2888:3888
server.2=spark3:2888:3888

容易启动不成功,报错

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值