一、zookeeper的简介

Zookeeper: 是一个分布式的、开源的程序协调服务,是 hadoop 项目下的一个子项目。他提供的主要功 能包括:配置管理、名字服务、分布式锁、集群管理。
Zookeeper的存储数据结构是树
图源菜鸟教程
在这里插入图片描述

二、zookeeper的应用

1、配置管理
2、名字服务
3、分布式锁
4、集群管理

三、zookeeper的安装

1、下载zookeeper
通过wget的方式
wget是一个下载指令,后面可以跟下载连接去从服务器上下载东西。
先移动到opt文件夹中

cd /opt

然后使用wget下载

wget https://downloads.apache.org/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz

2、解压
解压tar.gz文件指令:tar -zxvf 文件名

移动: mv + 文件名 要移动的地址+移动后的文件名(如果去掉要移动的地址,可以用于改名)

复制:cp

修改文件:vim

查看程序是否运行: ps -ef|grep tomcat

tar -zxvf  apache-zookeeper-3.6.3-bin.tar.gz

移动 apache-zookeeper-3.6.3-bin 目录到 /usr/loca/ 目录下

mv apache-zookeeper-3.6.3-bin /usr/local/zookeeper-3.6.3

3、修改配置文件
首先去/usr/local/zookeeper-3.6.3中新建data和logs文件

mkdir data
mkdir logs

进入zookeeper文件夹下的conf配置目录

复制zookeeper的配置模板zoo_sample.cfg

cp zoo_sample.cfg zoo.cfg

修改配置

vim zoo.cfg

在文件中添加目录

#数据文件夹

dataDir=/usr/local/zookeeper-3.6.3/data

#日志文件夹

dataLogDir=/usr/local/zookeeper-3.6.3/log

在这里插入图片描述

然后修改系统配置文件

vim /etc/profile

把这段内容随便找个地方复制进去

#zookeeper-3.6.3配置
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.6.3/
export PATH=$ZOOKEEPER_HOME/bin:$PATH
export PATH

随后使 /etc/ 目录下的 profile 文件生效:

source /etc/profile

4、开放端口
常用防火墙指令
启动: systemctl start firewalld

查看状态: systemctl status firewalld

停止:systemctl stop firewalld

禁用:systemctl disable firewalld

重启:systemctl restart firewalld

端口操作指令
添加端口
firewall-cmd --zone=public --add-port=80/tcp --permanent (–permanent永久生效,没有此参数重启后失效)

重新载入
firewall-cmd --reload

查看端口
firewall-cmd --zone= public --query-port=80/tcp

删除端口
firewall-cmd --zone= public --remove-port=80/tcp --permanent

查看端口
netstat -ntl
下面进行操作:
开放端口

firewall-cmd --permanent --zone=public --add-port=2181/tcp

重启防火墙

systemctl restart firewalld

注意:如果是第一次启动防火墙可能会导致其他服务不可用,关闭即可
5、启动zookeeper
进入zookeeper目录

cd /usr/local/zookeeper-3.6.3/

进入bin目录

cd bin/

启动zookeeper服务端

./zkServer.sh start

注意:这里如果出现8080端口占用的问题,是因为3.5版本以上的zookeeper自带一个管理员端口,会产生和tomcat的端口冲突,在配置文件中添加

admin.serverPort=8888    #注意这里的8888可以是任意未占用的端口

在这里插入图片描述

启动客户端

./zkCli.sh

这里如果启动失败可以尝试

sh zkCli.sh

以及

./zkCli.sh start

在这里插入图片描述
这样就是启动成功了

6、简单的客户端命令
查看当前文件
ls

创建一个文件
creat 位置 值

获取值
get 位置

删除文件
delete 位置

修改文件
set 位置 值

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐