准备安装包
下载地址:https://archive.apache.org/dist/zookeeper/
解压安装
注意:我们自己安装的软件一般都是装在 /usr/local/
这个目录下
在 /usr/local/
下创建 zookeeper
⽂件夹并进⼊
[root@localhost /]# cd /usr/local/
[root@localhost local]# mkdir zookeeper
[root@localhost local]# cd zookeeper
将 ZooKeeper
安装包解压到 /usr/local/zookeeper
中即可
[root@localhost zookeeper]# tar -zxvf /存放位置/apache-zookeeper-3.5.8-bin.tar.gz -C ./
注意:这个命令要在新建的zookeeper目录下执行
解压完之后, /usr/local/zookeerper
⽬录中会出现⼀个 apache-zookeeper-3.5.8-bin
的⽬录
创建DATA目录
在 /usr/local/zookeeper/apache-zookeeper-3.5.8-bin
⽬录中创建⼀个 data
⽬录
[root@localhost zookeeper]# cd apache-zookeeper-3.5.8-bin
[root@localhost apache-zookeeper-3.5.8-bin]# mkdir data
等下该 data ⽬录地址要配到 zooKeeper 的配置⽂件中
创建配置文件并修改
进⼊到 zookeeper
的 conf ⽬录
,复制 zoo_sample.cfg
得到 zoo.cfg
:
[root@localhost apache-zookeeper-3.5.8-bin]# cd conf/
[root@localhost conf]# cp zoo_sample.cfg zoo.cfg
[root@localhost conf]# ls
configuration.xsl log4j.properties zoo.cfg zoo_sample.cfg
修改配置⽂件 zoo.cfg
,将其中的 dataDir
修改为上⾯刚创建的 data
⽬录,其他选项可以按需配置
[root@localhost conf]# vim zoo.cfg
启动ZOOKEEPER
[root@localhost apache-zookeeper-3.5.8-bin]# ./bin/zkServer.sh start
启动后可以通过如下命令来检查启动后的状态:
[root@localhost apache-zookeeper-3.5.8-bin]# ./bin/zkServer.sh status
注意:从上图可以看出,zookeeper默认绑定的是2181这个端口号。
配置环境变量
编辑配置⽂件:
[root@localhost apache-zookeeper-3.5.8-bin]# vim /etc/profile
尾部加⼊ zooKeeper
的 bin
路径配置即可
export ZOOKEEPER_HOME=/usr/local/zookeeper/apache-zookeeper-3.5.8-bin
export PATH=$PATH:$ZOOKEEPER_HOME/bin
最后执⾏ source /etc/profile
使环境变量⽣效即可。
设置开机自启
⾸先进⼊ /etc/rc.d/init.d
⽬录,创建⼀个名为 zookeeper
的⽂件
,并赋予执⾏权限
[root@localhost ~]# cd /etc/rc.d/init.d/
[root@localhost init.d]# touch zookeeper
[root@localhost init.d]# chmod +x zookeeper
接下来编辑 zookeeper ⽂件,并在其中加⼊如下内容
#!/bin/bash
#chkconfig:- 20 90
#description:zookeeper
#processname:zookeeper
ZOOKEEPER_HOME=/usr/local/zookeeper/apache-zookeeper-3.5.8-bin
export JAVA_HOME=/usr/lib/jvm/java-1.8.0 # 此处根据你的实际情况更换对应
case $1 in
start) su root $ZOOKEEPER_HOME/bin/zkServer.sh start;;
stop) su root $ZOOKEEPER_HOME/bin/zkServer.sh stop;;
status) su root $ZOOKEEPER_HOME/bin/zkServer.sh status;;
restart) su root $ZOOKEEPER_HOME/bin/zkServer.sh restart;;
*) echo "require start|stop|status|restart" ;;
esac
最后加⼊开机启动即可:
chkconfig --add zookeeper
chkconfig zookeeper on
开放端口号2181
Linux要先把2181个端口暴露出来,否则远程连接zookeeper服务器可能连接不上
- 查看开放的端口号:
firewall-cmd --list-all
- 添加指定的端口号:
sudo firewall-cmd --add-port=2181/tcp --permanent
- 重启防火墙:
firewall-cmd --reload
其他常用的命令:
- 查看防火墙状态:
systemctl status firewalld
- 开启防火墙:
systemctl start firewalld
- 关闭防火墙:
systemctl stop firewalld
- 移除指定端口:
firewall-cmd --permanent --remove-port=8161/tcp
zkCli
介绍一下zookeeper的客户端:
- zooKeeper的命令行连接工具,类似于Linux的shell环境,不过功能肯定不及shel,但是使用它我们可以简单的对ZooKeeper进行访问,数据创建,数据修改等操作. 。
- 使用 命令
./zkCli.sh
连接到 ZooKeeper服务,连接成功后,系统会输出 ZooKeeper 的相关环境以及配置信息。
命令行工具的一些简单操作如下:
- 1. 显示根目录下文件: ls / 使用 ls 命令来查看当前 ZooKeeper 中所包含的内容
- 2. 显示根目录下文件: ls2 / 查看当前节点数据并能看到更新次数等数据
- 3. 创建文件,并设置初始内容:create /zk "test" 创建一个新的 znode节点zk以及与它关联的字符串
- 4. 获取文件内容: get /zk 确认znode 是否包含我们所创建的字符串
- 5. 修改文件内容: set /zk "zkbak" 对 zk 所关联的字符串进行设置
- 6. 删除文件: delete /zk 将刚才创建的 znode 删除
- 7. 退出客户端: quit
- 8. 帮助命令: help