一、下载 zookeeper

以 zookeeper-3.4.10 为例:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/

zookeeper 的安装和配置_根目录

二、上传到 Linux 服务器

我使用的是 WinSCP 进行上传,下载地址:https://dl.pconline.com.cn/html_2/1/86/id=7244&pn=0&linkPage=1.html

zookeeper 的安装和配置_服务器_02

三、安装

  1. 解压 tar 包(我是解压到家目录下的 training 目录下的):tar -zxvf zookeeper-3.4.10.tar.gz -C ~/training/
  2. 设置环境变量:可以在 /etc/profile 文件中修改,也可以在 ~/.bash 文件或者 ~/.bash_profile 文件中修改(在第一个文件中修改的话是针对全部用户起效,后两个只针对当前用户)。
    要在文件中添加的内容:
ZOOKEEPER_HOME=/root/training/zookeeper-3.4.10
export ZOOKEEPER_HOME

PATH=$ZOOKEEPER_HOME/bin:$PATH
export PATH

四、配置

  • 进入 zookeeper-3.4.10/conf 目录下复制一份 zoo_sample.cfg 修改文件名为 zoo.cfg。
  • 修改 zoo.cfg 文件的第12 行为如下格式:dataDir=/root/training/zookeeper-3.4.10/tmp(设置 zookeeper 保存数据的目录,在 zookeeper 的根目录下创建一个 tmp 目录)
  • 在文件的最后添加:server.1=ip:2888:3888
  • 在 zookeeper 的根目录下的 tmp 目录内创建文件 myid(文件名必须为 myid),在文件里面输入一个 1(这个1和上一步的1对应即可),保存退出即可。

ps:如果要配置集群模式,只需要在文件的最后添加 server.2=ip2:2888:3888,server.3=ip3:2888:3888…然后把整个 zookeeper 目录拷贝到其他的服务器上,在其他的服务器上修改 myid 文件的内容即可。

五、启动,查看状态,退出

在任意目录下执行如下命令启动 zk 服务端:zkServer.sh start

root@test:~# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /root/training/zookeeper-3.4.10/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

查看 zk 状态:zkServer.sh status,如果只有一台 zookeeper 服务器,那么这个 zookeeper 的状态为 standalone,如果有多台服务器,那么主节点为 leader 状态,从节点为 flower 状态。

root@test:~# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /root/training/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: standalone

停止 zk:zkServer.sh stop

root@test:~# zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /root/training/zookeeper-3.4.10/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED

启动 zk 客户端:zkCli.sh

在客户端可以执行的命令(可以把zookeeper理解为一个文件系统):

  1. 查看根目录下的所有文件:ls /
  2. 在根目录下创建一个文件 node1,文件内容为 helloworld:create /node1 helloworld
  3. 查看根目录下 node1 文件的内容:get /node1