Zookeeper:安装、集群搭建
跳到导航
跳到搜索
关于
Zookeeper 更多用作分布式协调服务,所以集群的搭建配置是重点。
zookeeper 用到了三个端口,其作用:
- 2181 : 对 client 端提供服务;
- 2888 : 集群内机器通信使用;
- 3888 : 选举 leader 使用;
单机安装
在安装ZooKeeper之前,请确保你的系统是在以下任一操作系统上运行:
- 任意Linux OS - 支持开发和部署。适合演示应用程序。
- Windows OS - 仅支持开发。
- Mac OS - 仅支持开发。
ZooKeeper服务器是用Java创建的,它在JVM上运行(需要使用JDK 6或更高版本)。
zookeeper 下载地址为: https://zookeeper.apache.org/releases.html。
Linux
安装步骤:
- 使用 wget 命令下载,并提取文件:
$ wget https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz $ tar -zxvf zookeeper-3.4.14.tar.gz
- 创建数据目录:
$ cd zookeeper-3.4.14 $ mkdir data
- 创建并修改配置文件“zoo.cfg”:
$ cd zookeeper-3.4.14 $ cd conf/ $ cp zoo_sample.cfg zoo.cfg $ vi zoo.cfg tickTime = 2000 dataDir = ../data clientPort = 2181 initLimit = 5 syncLimit = 2
- 启动 ZooKeeper 服务器:
$ bin/zkServer.sh start $ JMX enabled by default $ Using config: /Users/../zookeeper-3.4.6/bin/../conf/zoo.cfg $ Starting zookeeper ... STARTED
- 查看服务端状态(启动单机节点):
$ bin/zkServer.sh status $ JMX enabled by default $ Using config: /Users/../zookeeper-3.4.6/bin/../conf/zoo.cfg Mode: standalone
- 启动客户端:
$ sh zkCli.sh
- 帮助命令:
ZooKeeper -server host:port <cmd> <args> stat path [watch] set path data [version] ls path [watch] delquota [-n|-b] path ls2 path [watch] setAcl path acl setquota -n|-b val path history redo cmdno printwatches on|off delete path [version] sync path listquota path rmr path get path [watch] create [-s] [-e] path data acl addauth scheme auth quit getAcl path close connect host:port
Windows
安装步骤:
- 下载文件并解压:
- 创建数据、日志目录:
- 创建并修改配置文件“zoo.cfg”:(从conf目录下的“zoo_sample.cfg”文件复制而来)
- 启动 ZooKeeper 服务器:(双击 zkServer.cmd 启动程序)
- 启动 ZooKeeper 客户端:
集群搭建
【本章节将示范三台 zookeeper 服务端集群搭建步骤】
准备工作,创建三台虚拟机环境并安装好 java 开发工具包 JDK,可以使用 VM 或者 vagrant+virtualbox 搭建 centos/ubuntu 环境。
- 以下,基于宿主机 windows10 系统同时使用 vagrant+virtualbox 搭建的 centos7 环境,如果直接使用云服务器或者物理机同理
搭建步骤:
- (按照安装步骤)准备三台 zookeeper 环境:
- 查看 ip 地址可以用 ifconfig 命令;
- 修改集群配置:
- 三台虚拟机 zoo.cfg 文件末尾添加配置“server.id = ip:port:port”:
server.1=192.168.3.33:2888:3888 server.2=192.168.3.35:2888:3888 server.3=192.168.3.37:2888:3888
- 根据 id 和对应的地址分别配置 myid:
vim /tmp/zookeeper/myid
- 完成后查询显示如下:
- IP:192.168.3.33(该机器启动过,所以出现 version-2)
- IP:192.168.3.35
- IP:192.168.3.37
- 三台虚拟机 zoo.cfg 文件末尾添加配置“server.id = ip:port:port”:
- 启动集群:
- 分别启动三台服务器的 Zookeeper;
集群启动完成后,查看三台机器状态:
至此,集群搭建成功!
- Mode:leader 代表主节点,follower 代表从节点,此处为一主二从。