前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Zookeeper集群环境搭建

Zookeeper集群环境搭建

作者头像
星哥玩云
发布2022-07-14 10:05:25
2680
发布2022-07-14 10:05:25
举报
文章被收录于专栏:开源部署开源部署

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/下面的文件

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查看进程:

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

h1

h2

h3

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

数据存储:

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

监听机制使用:

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

客户端操作:

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档