一、下载 zookeeper
以 zookeeper-3.4.10 为例:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/
二、上传到 Linux 服务器
我使用的是 WinSCP 进行上传,下载地址:https://dl.pconline.com.cn/html_2/1/86/id=7244&pn=0&linkPage=1.html
三、安装
- 解压 tar 包(我是解压到家目录下的 training 目录下的):
tar -zxvf zookeeper-3.4.10.tar.gz -C ~/training/
- 设置环境变量:可以在
/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理解为一个文件系统):
- 查看根目录下的所有文件:
ls /
- 在根目录下创建一个文件 node1,文件内容为 helloworld:
create /node1 helloworld
- 查看根目录下 node1 文件的内容:
get /node1