前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在Linux-centos7下和Windows下安装zookeeper及伪集群

在Linux-centos7下和Windows下安装zookeeper及伪集群

作者头像
chenchenchen
发布2019-09-03 15:51:03
6580
发布2019-09-03 15:51:03
举报
文章被收录于专栏:chenchenchen

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_38004638/article/details/96486706

Linux

1:下载软件

http://zookeeper.apache.org/releases.htmlhttp://mirrors.hust.edu.cn/apache/zookeeper/

wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/current/apache-zookeeper-3.5.5-bin.tar.gz

https://www.linuxidc.com/Linux/2016-09/135052.htm

2:创建数据配置目录

mkdir zk

cd zk

mkdir -p data logs

3:解压并进入目录

tar -zxf apache-zookeeper-3.5.5-bin.tar.gz

cd apache-zookeeper-3.5.5-bin

4:复制配置文件

cd conf/

cp zoo_sample.cfg /home/fastdfs/zk/zk/zoo.cfg

5:修改配置文件

cat zoo.cfg |grep -v ^#

vi zoo.cfg

# Zookeeper 服务器之间或客户端与服务器之间心跳的时间间隔。 tickTime=2000 # 这个配置项是用来配置zookeeper接收客户端初始化连接能忍受多少个心跳时间间隔数。当已经超过10个心跳的时间(tickTime)长度后,zookeeper服务器还没有接收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10*2000 = 20 秒 initLimit=10 # 这个配置项标识Leader和Follower之间发送消息,请求和应答的长度,最长不能超过多少个tickTime的时间长度,总的时间长度就是 5 * 2000 = 10秒 syncLimit=5 # Zookeeper 保存数据的目录 #dataDir=/home/fastdfs/zk/zk/data dataDir=/home/chenyy/cyy/software/zookeeper/data # Zookeeper 服务器监听端口,用来接受客户端的访问请求 clientPort=2181 # server.myid=IP:Port1:Port2, myid是服务器的编号,一个正整数,一般是0、1、2、3等待,port1表示的是服务器与集群中的Leader服务器交换信息的端口,一般用2288,Port2表示的是万一集群中的Leader服务器宕机了,需要一个端口来重新进行宣讲,选出一个新的Leader,一般用3388 # server.1=localhost:2287:3387

6:启动zk

(1)配置环境变量启动

用 vim 打开 /etc/ 目录下的配置文件 profile:sudo vim /etc/profile 并在其尾部追加如下内容: # idea - zookeeper-3.5.5 config start - 2019-07-19 export ZOOKEEPER_HOME=/home/chenyy/cyy/software/zk export PATH=$ZOOKEEPER_HOME/bin:$PATH export PATH # idea - zookeeper-3.5.5 config start - 2019-07-19

使 /etc/ 目录下的 profile 文件即可生效: source /etc/profile 启动 zookeeper 服务: zkServer.sh start

(2)bin目录下启动

进入安装目录bin下,执行./zkServer.sh start ,并指定配置文件

./zkServer.sh start ../../zoo.cfg

7:查看服务状态

./zkServer.sh status ../../zk/zoo.cfg

8:停止服务

./zkServer.sh stop ../../zk/zoo.cfg

9:测试连接zk

默认2181端口,./zkCli.sh

# 连接服务器 zkCli -server IP:PORT

./zkCli.sh -server 127.0.0.1:2181

# 帮助命令

help

# 获取根节点列表,默认会有一个zookeeper节点,节点列表就像linux目录一样,根节点为/

ls /

# 创建znode并关联值, create /节点名称 “值”

create /myZnode "my znode"

# 读取myZnode节点

ls /myZnode

# 修改znode

set /myZnode "my znode value string"

# 可以更新执行节点的数据内容

set /myZnode 6575675

# 获取znode

get /myZnode

# 删除单个znode

delete /myZnode

# 递归删除(删除myZnode的子节点和myZnode节点)

rmr /myZnode

# 退出客户端

Quit

伪集群部署

在一台机器上部署了3个server,需要注意的是在集群为分布式模式下我们使用的每个配置文档模拟一台机器,也就是说单台机器及上运行多个Zookeeper实例。但是,必须保证每个配置文档的各个端口号不能冲突,除了clientPort不同之外,dataDir也不同。另外,还要在dataDir所对应的目录中创建myid文件来指定对应的Zookeeper服务器实例。

1:创建3个server目录

cp -rf zk zk001 & cp -rf zk zk002 & cp -rf zk zk003

2:修改配置文件

server.1

tickTime=2000 initLimit=10 syncLimit=5 dataDir=/home/zookeeper/zk/zk001/data clientPort=2182 dataLogDir=/home/zookeeper/zk/zk001/logs server.1=localhost:2287:3387 server.2=localhost:2288:3388 server.3=localhost:2289:3389

server.2

tickTime=2000 initLimit=10 syncLimit=5 dataDir=/home/zookeeper/zk/zk002/data clientPort=2183 dataLogDir=/home/zookeeper/zk/zk002/logs server.1=localhost:2287:3387 server.2=localhost:2288:3388 server.3=localhost:2289:3389

server.3

tickTime=2000 initLimit=10 syncLimit=5 dataDir=/home/zookeeper/zk/zk003/data clientPort=2184 dataLogDir=/home//zookeeper/zk/zk003/logs server.1=localhost:2287:3387 server.2=localhost:2288:3388 server.3=localhost:2289:3389

server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。

3:创建3个myid文件

zoo.cfg配置文件里dataDir指定的那个目录下创建myid文件,并且指定id,

改id为你zoo.cfg文件中server.1=localhost:2888:3888中的1.只要在myid头部写入1即可.

echo “1” > myid

vi myid

4:连接指定IP地址服务器

./zkCli.sh -server ip:port

# 启动3个zookeeper服务

./zkServer.sh start ../zk001/zoo.cfg

./zkServer.sh start ../zk002/zoo.cfg

./zkServer.sh start ../zk003/zoo.cfg

# 查看每个zookeeper对应的角色

./zkServer.sh status ../zk001/zoo.cfg

./zkServer.sh status ../zk002/zoo.cfg

./zkServer.sh status ../zk003/zoo.cfg

# 停止zookeeper服务

./zkServer.sh stop ../../zk001/zoo.cfg

./zkServer.sh stop ../../zk002/zoo.cfg

./zkServer.sh stop ../../zk003/zoo.cfg

在zookeeper下将zk文件夹复制三份,分别命名zk001,zk002,zk003

修改各自的zoo.cfg内容

server.1

tickTime=2000 initLimit=10 syncLimit=5 dataDir=/home/zookeeper/zk001/data clientPort=2182 dataLogDir=/home/zookeeper/zk001/logs server.1=localhost:2287:3387 server.2=localhost:2288:3388 server.3=localhost:2289:3389

server.2

tickTime=2000 initLimit=10 syncLimit=5 dataDir=/home/zookeeper/zk002/data clientPort=2183 dataLogDir=/home/zookeeper/zk002/logs server.1=localhost:2287:3387 server.2=localhost:2288:3388 server.3=localhost:2289:3389

server.3

tickTime=2000 initLimit=10 syncLimit=5 dataDir=/home/zookeeper/zk003/data clientPort=2184 dataLogDir=/home/zookeeper/zk003/logs server.1=localhost:2287:3387 server.2=localhost:2288:3388 server.3=localhost:2289:3389

各自新建conf/data/myid,里面存上服务号

分别启动三个zk,再查看状态为:一主两从,leader为主机,follower为从机,说明配置完成。

进入每个目录去启动太麻烦了,在zk/bin目录启动终端,写一个批量脚本

vi start-zookeeper-all.sh

添加路径,保存并退出

/home/zookeeper/zk001/bin/zkServer.sh start

/home/zookeeper/zk002/bin/zkServer.sh start

/home/zookeeper/zk003/bin/zkServer.sh start

这时候还没有运行权限,需要添加权限:

chmod u+x start-zookeeper-all.sh

添加完成权限以后,通过批量文件就可以启动全部zookeeper了

./start-zookeeper-all.sh

Windows

安装下载

配置环境变量

ZOOKEEPER_HOME=D:\Program Files\zookeeper-3.4.12

PATH=%ZOOKEEPER_HOME%\bin

配置文件

将 zoo_sample.cfg 改为 zoo.cfg,

tickTime=2000

initLimit=10

syncLimit=5

dataDir=C:\\zookeeper-3.4.5\\data

dataLogDir=C:\\zookeeper-3.4.5\\log

clientPort=2181

启动

window环境启动zookeeper命令为zkServer.cmd而非zkServer.cmd start或者zkServer.sh start

D:\Program Files\zookeeper-3.4.12\bin

$ zkServer.cmd

查看

D:\Development\payment-server (master -> origin)

$ netstat -ano|grep "2181"

启动客户端

D:\Program Files\zookeeper-3.4.12\bin

$ zkCli.cmd -server 127.0.0.1:2181

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年07月25日,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Linux
    • 1:下载软件
      • 2:创建数据配置目录
        • 3:解压并进入目录
          • 4:复制配置文件
            • 5:修改配置文件
              • 6:启动zk
                • 7:查看服务状态
                  • 8:停止服务
                    • 9:测试连接zk
                      • 伪集群部署
                        • 1:创建3个server目录
                        • 2:修改配置文件
                        • 3:创建3个myid文件
                        • 4:连接指定IP地址服务器
                        • 安装下载
                        • 配置环境变量
                        • 配置文件
                        • 启动
                        • 查看
                        • 启动客户端
                    • Windows
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档