一、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 位置 值