前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >zookeeper-3.4.10伪集群模式搭建及简单操作

zookeeper-3.4.10伪集群模式搭建及简单操作

作者头像
冬天里的懒猫
发布2020-08-03 15:51:08
5870
发布2020-08-03 15:51:08
举报

文章目录

  • 1.环境准备
  • 2.配置
    • 2.1 zoo.cfg配置文件
    • 2.2 myid配置文件
    • 2.3 日志路径配置
  • 3.启动
  • 4.客户端连接
    • 4.1 create
    • 4.2 ls
    • 4.3 get
    • 4.4 set
    • 4.5 delete

在学习zookeeper的过程中,常常受制于环境限制,没有足够多的硬件资源以供自己玩耍,通常情况下只有自己的16G内存的笔记本,因此,在这种情况下,我们需要通过搭建伪集群环境来体验zookeeper的集群模式。

1.环境准备

代码语言:javascript
复制
操作系统: fedora25
硬件配置: thinkpad X230  i5  16G   500G
依赖软件: jdk  1.8.0_121 (官方版本,非openjdk)
下载: zookeeper-3.4.10.tar.gz
cd /opt
wget http://www-us.apache.org/dist/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz

安装目录:/opt/zookeeper
mkdir /opt/zookeeper
cd /opt/zookeeper 
tar -zxvf  /opt/zookeeper-3.4.10.tar.gz 
cp -rf /opt/zookeeper/zookeeper-3.4.10   /opt/zookeeper/zoo-node1
cp -rf /opt/zookeeper/zookeeper-3.4.10   /opt/zookeeper/zoo-node2
cp -rf /opt/zookeeper/zookeeper-3.4.10   /opt/zookeeper/zoo-node3
rm -rf  /opt/zookeeper/zookeeper-3.4.10 
这样,zookeeper的三个节点运行目录分别为:
 /opt/zookeeper/zoo-node1
 /opt/zookeeper/zoo-node2
 /opt/zookeeper/zoo-node3

2.配置

2.1 zoo.cfg配置文件

zookeeper的运行,需要在conf目录配置zoo.cfg文件。我们可以参考zoo_sample.cfg进行配置。 节点1配置如下:

代码语言:javascript
复制
#zookeeper时间单元,单位为毫秒
tickTime=2000
#集群中的follower服务器(F)与leader服务器(L)之间 初始连接 时能容忍的最多心跳数(tickTime的数量)。
initLimit=10
# 集群中的follower服务器(F)与leader服务器(L)之间 请求和应答 之间能容忍的最多心跳数(tickTime的数量)。
syncLimit=5
# data数据目录
dataDir=/opt/zookeeper/zoo-node1/data
# 客户端连接端口
clientPort=2181
# 客户端最大连接数
#maxClientCnxns=60
# 需要保留的快照数目
#autopurge.snapRetainCount=3
# 是否开启自动清理事务日志和快照功能 0 不开启,1表示开启
#autopurge.purgeInterval=1
#集群配置 
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

节点2配置

代码语言:javascript
复制
#zookeeper时间单元,单位为毫秒
tickTime=2000
#集群中的follower服务器(F)与leader服务器(L)之间 初始连接 时能容忍的最多心跳数(tickTime的数量)。
initLimit=10
# 集群中的follower服务器(F)与leader服务器(L)之间 请求和应答 之间能容忍的最多心跳数(tickTime的数量)。
syncLimit=5
# data数据目录
dataDir=/opt/zookeeper/zoo-node2/data
# 客户端连接端口
clientPort=2182
# 客户端最大连接数
#maxClientCnxns=60
# 需要保留的快照数目
#autopurge.snapRetainCount=3
# 是否开启自动清理事务日志和快照功能 0 不开启,1表示开启
#autopurge.purgeInterval=1
#集群配置 
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

节点3配置

代码语言:javascript
复制
#zookeeper时间单元,单位为毫秒
tickTime=2000
#集群中的follower服务器(F)与leader服务器(L)之间 初始连接 时能容忍的最多心跳数(tickTime的数量)。
initLimit=10
# 集群中的follower服务器(F)与leader服务器(L)之间 请求和应答 之间能容忍的最多心跳数(tickTime的数量)。
syncLimit=5
# data数据目录
dataDir=/opt/zookeeper/zoo-node3/data
# 客户端连接端口
clientPort=2183
# 客户端最大连接数
#maxClientCnxns=60
# 需要保留的快照数目
#autopurge.snapRetainCount=3
# 是否开启自动清理事务日志和快照功能 0 不开启,1表示开启
#autopurge.purgeInterval=1
#集群配置 
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

分别将上述配置文件放置在三个节点对应的conf目录下。 另外,需要新建data目录

代码语言:javascript
复制
mkdir /opt/zookeeper/zoo-node1/data
mkdir /opt/zookeeper/zoo-node2/data
mkdir /opt/zookeeper/zoo-node3/data

2.2 myid配置文件

zookeeper还需要在data目录中配置myid文件。myid文件中存放对应节点的序号。

代码语言:javascript
复制
echo '1'  >  /opt/zookeeper/zoo-node1/data/myid
echo '2'  >  /opt/zookeeper/zoo-node2/data/myid
echo '3'  >  /opt/zookeeper/zoo-node3/data/myid

2.3 日志路径配置

修改 bin 目录下的zkEnv.sh 将ZOO_LOG_DIR 修改为:

代码语言:javascript
复制
 ZOO_LOG_DIR="../logs/"

按上述方法分别修改三个节点中的zkEnv.sh文件

3.启动

代码语言:javascript
复制
/opt/zookeeper/zoo-node1/bin/zkServer.sh start
/opt/zookeeper/zoo-node2/bin/zkServer.sh start
/opt/zookeeper/zoo-node2/bin/zkServer.sh start

如此分别启动三个节点即可。 启动效果如下:

代码语言:javascript
复制
[root@localhost bin]# /opt/zookeeper/zoo-node1/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/zoo-node1/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

查看日志:

在这里插入图片描述
在这里插入图片描述

4.客户端连接

运行 zkCli.sh 连接到默认的端口

4.1 create

使用create 可以创建一个zookeeper节点。

代码语言:javascript
复制
命令格式
create [-s] [-e] path data acl
create  /zk-book 123
在这里插入图片描述
在这里插入图片描述

4.2 ls

列出zookeeper指定节点下的所有子节点。

代码语言:javascript
复制
命令格式
ls path [watch]
ls /
在这里插入图片描述
在这里插入图片描述

4.3 get

get 可以获取zookeeper指定节点的数据内容和属性信息。

代码语言:javascript
复制
get path [watch]
get /zk-book
在这里插入图片描述
在这里插入图片描述

4.4 set

更新指定节点的数据内容

代码语言:javascript
复制
set path data [vresion]
set /zk-book 456
在这里插入图片描述
在这里插入图片描述

4.5 delete

delete 删除zookeeper上指定节点内容

代码语言:javascript
复制
delete path [version]
delete /zk-book
在这里插入图片描述
在这里插入图片描述

不过需要注意的是,删除的节点必须为空,否则无法删除。

代码语言:javascript
复制
create /zk-book 123
create /zk-book/child 12345
delete /zk-book
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-07-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 1.环境准备
  • 2.配置
    • 2.1 zoo.cfg配置文件
      • 2.2 myid配置文件
        • 2.3 日志路径配置
        • 3.启动
        • 4.客户端连接
          • 4.1 create
            • 4.2 ls
              • 4.3 get
                • 4.4 set
                  • 4.5 delete
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档