系统要求
ZooKeeper可以运行在多种系统平台上面,下表展示了zk支持的系统平台,以及在该平台上是否支持开发环境或者生产环境。
ZooKeeper支持的运行平台
系统 | 开发环境 | 生产环境 |
---|---|---|
Linux | 支持 | 支持 |
Solaris | 支持 | 支持 |
FreeBSD | 支持 | 支持 |
Windows | 支持 | 不支持 |
MacOS | 支持 | 不支持 |
ZooKeeper是用Java编写的,运行在Java环境上,因此,在部署ZK的机器上需要安装Java运行环境。为了正常运行ZK,我们需要JRE1.6或者以上的版本。
对于集群模式下的ZooKeeper部署,3个ZooKeeper服务进程是建议的最小进程数量,而且不同的服务进程建议部署在不同的物理机器上面,以减少机器宕机带来的风险,以实现ZooKeeper集群的高可用。
ZooKeeper对于机器的硬件配置没有太大的要求。例如,在Yahoo内部,ZooKeeper部署的机器其配置通常如下:双核处理器,2GB内存,80GB硬盘。
下载ZooKeeper,可以从如下地址下载,本文使用3.4.14版本。
https://apache.org/dist/zookeeper/stable
http://mirror.bit.edu.cn/apache/zookeeper/stable/
Zookeeper官网:https://zookeeper.apache.org/。
Windows下安装
解压压缩包得到如下目录结构:
在bin启动目录下,有相关的启动 ZK 的命令:
zkServer.sh、zkCli.sh:在Linux下面启动 ZK 和连接 ZK 的命令。
在 conf 配置目录下有一个默认的样板配置:zoo_sample.cfg,我们需要将zoo_sample.cfg
复制修改为zoo.cfg
,然后使用zkServer.cmd
启动Zookeeper服务端。
我们使用zkCli.cmd
连接服务端,可以发现端口2181被监听。
Linux下安装
下载的镜像地址:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz 。
建议使用镜像,推荐下载好了再使用 xftp 传到 Linux,如果使用 wget 可能会丢失 Jar 包。
1、上传下载好的Zookeeper,确定JDK环境。
[root@localhost ~]# java -version
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)
2、解压并修改位置
#解压到/usr/local下面
tar -zxvf zookeeper-3.4.14.tar.gz -C /usr/local
#进入目录
cd /usr/local/
#修改名字
mv zookeeper-3.4.14/ zookeeper
3、修改配置文件
#打开zk的配置文件目录
cd /usr/local/zookeeper/conf
#复制zoo_sample.cfg 为zoo.cfg [一定要改]
cp zoo_sample.cfg zoo.cfg
4、启动关闭连接ZK
查看Zookeeper下面的bin目录,有zkCli.sh
和zkServer.sh
。
#返回到zookeeper下的bin目录
[root@localhost conf]# cd ..
[root@localhost zookeeper]# cd bin
-
zkCleanup:清理Zookeeper历史数据,包括事务日志文件和快照数据文件。
-
zkCli:Zookeeper的一个简单客户端。
-
zkEnv:设置Zookeeper的环境变量。
-
zkServer:Zookeeper服务器的启动、停止和重启脚本。
#启动
[root@localhost bin]# ./zkServer.sh start
#停止
[root@localhost bin]# ./zkServer.sh stop
#重启(一般用于配置文件修改后)
[root@localhost bin]# ./zkServer.sh restart
#查看zk的运行状态
[root@localhost bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: standalone #表示是单机版
评论区