阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Zookeeper集群环境搭建

149次阅读
没有评论

共计 2609 个字符,预计需要花费 7 分钟才能阅读完成。

zookeeper 是一个自动管理分布式集群的一个工具,以实现集群的高可用。比如集群中的一个机器挂掉了,没有 zookeeper 的话就得考虑挂一个机器对剩下集群工作的影响,而有了 zookeeper,它就能自动帮你协调这些事儿。

正规的解释如下:

zookeeper 是 一个开源的针对大型分布式系统的可靠协调系统。

设计目标是:将复杂且容易出错的分布式式一致性服务封装起来,构成一个高效可靠的原语集,

并以简单易用的接口提供给用户使用。

提供的功能包括:发布 / 订阅,分布式协调 / 通知,配置管理,集群管理,主从协调,分布式锁等。

安装与配置:

这里用三台 CentOS 6.9 mini 虚拟机演示,主机名分别是 h1、h2、h3,ip 分别是 192.168.227.11、192.168.227.22、192.168.227.33。

三台虚拟机都已创建了 Hadoop 用户,配了免密码登录。

软件安装路径是 /home/hadoop/apps/。

1. 下载解压安装包

解压后,/home/hadoop/apps/zookeeper-3.4.10/ 下面的文件

Zookeeper 集群环境搭建

2. 创建软连接

 这一步要用 root 用户操作,先切换到 root 用户

语法:ln -s 源路径 软连接路径

ln -s /home/hadoop/apps/zookeeper-3.4.10 /usr/local/zookeeper

修改 zookeeper 软链接属主为 hadoop:

chown -R hadoop:hadoop /usr/local/zookeeper

3. 修改环境变量

用 root 用户操作

vim /etc/profile

添加以下内容:

export Java_HOME=/usr/local/jdk

export ZOOKEEPER_HOME=/usr/local/zookeeper

export PATH=$PATH:${ZOOKEEPER_HOME}/bin:${JAVA_HOME}/bin

添加并保存后,重新编译环境变量:

source /etc/profile

(没有 jdk 的先下载 jdk)

4. 修改配置文件

zookeeper/conf 是保存配置文件的文件夹

修改里面的 zoo.cfg 文件

vi /conf/zoo.cfg

添加以下内容:

dataDir=/usr/local/zookeeper/data    #快照文件存储目录

dataLogDir=/usr/local/zookeeper/log  #事务日志文件目录

#(主机名, 心跳端口、数据端口)

server.1=h1:2888:3888 

server.2=h2:2888:3888

server.3=h3:2888:3888

5. 创建运行需要的目录

在 zookeeper 目录下创建配置文件里写的目录

mkdir /usr/local/zookeeper/data

mkdir /usr/local/zookeeper/log

在 data 文件夹下新建 myid 文件,myid 的文件内容为该节点的编号

cd data

touch myid

echo 1 >myid

6. 配置其余两个机器

用 scp 命令将整个 zookeeper 文件夹复制到其余两个机器上

scp -r /home/hadoop/apps/zookeeper-3.4.10 hadoop@h2:/home/hadoop/apps

scp -r /home/hadoop/apps/zookeeper-3.4.10 hadoop@h3:/home/hadoop/apps

然后按步骤 2 和步骤 3 分别对这两个机器创建软连接和修改环境变量。

将 h2 和 h3 机器里 /hadoop/data/myid 中的数分别改成 2 和 3。

至此就配置完了!

检查一下各个主机的运行

h1、h2、h3 依次执行 zkServer.sh start

jps 查看进程:

Zookeeper 集群环境搭建

三个都开启后,执行 zkServer.sh status 查看 zookeeper 状态:

h1

Zookeeper 集群环境搭建

h2

Zookeeper 集群环境搭建

h3

Zookeeper 集群环境搭建

可以看到 zookeeper 能够正常运行了。

数据存储:

zookeeper 以 Znode 形式存储数据
类似于 linux,但 Znode 可以存放数据
Znode 类型:
持久节点、临时节点、顺序节点
组合:持久节点、持久顺序节点
临时节点、临时顺序节点
客户端创建临时节点后,当客户端与服务端断开连接后,临时节点将被删除,临时节点下不允许有子节点

监听机制使用:

即发布订阅功能
客户端注册一个监听时间,当 zookeeper 上被监听的时间发生变化时,会第一时间通知订阅者

客户端操作:

zkCli.sh 命令进入客户端
create [选项] 路径 值 #创建节点并赋值,不能不赋值
-s 顺序型 -e 临时型
set 路径 值 #改变节点的值
get 路径 #获取节点的值
get 路径 watch #监听节点数据内容变化,只监听一次
ls 路径 watch #监听节点目录变化,只监听一次
delete 路径 #删除一个节点,节点下不能有子节点
rmr 路径 #删除有子节点的目录
cons #输出所有客户端的连接信息

在 CentOS7 上安装 Zookeeper-3.4.9 服务 https://www.linuxidc.com/Linux/2016-09/135052.htm
ZooKeeper 官方文档翻译——ZooKeeper Overview 3.4.6  https://www.linuxidc.com/Linux/2016-12/138025.htm
CentOS 下 ZooKeeper 3.4.8 集群环境搭建 https://www.linuxidc.com/Linux/2016-12/137958.htm
CentOS 7 下 Zookeeper 集群安装 https://www.linuxidc.com/Linux/2017-01/139733.htm
分布式服务 Dubbo+Zookeeper 安全认证 https://www.linuxidc.com/Linux/2017-12/149605.htm
Linux 下安装 Zookeeper 集群 https://www.linuxidc.com/Linux/2017-01/139545.htm
Linux 下 Zookeeper 集群的安装  https://www.linuxidc.com/Linux/2017-03/141400.htm
CentOS 6.5 下 ZooKeeper3.4.6 集群环境部署及单机部署详解  https://www.linuxidc.com/Linux/2018-03/151439.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2609字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中