zookeeper :中间件,为分布式系统进行协调服务
作用于分布式系统,可以为大数据服务
支持java 和 C 客户端的api
zookeeper 特性:一致性,数据会按照顺序分批入库;
原子性:数据要么成功要么失败;
单一视图;客户端连接到集群中任意zookeeper节点。数据都是一致的
可靠性,每次第zookeeper的操作都会保存到服务端
实时性:客户端可以访问到zk的最新数据
linux 中的配置(必须有java环境)
//解压zookeeper //配置zookeeper 环境变量
#JAVA 环境变量
export JAVA_HOME=/opt/soft/jdk1.7 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$JAVA_HOME/bin:$PATH
#zookeeper环境变量 export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin
zookeeper 的目录结构:
bin :存放一些命令;
conf:配置文件,也是我们需要修改的地方。修改zk.conf
dist-mave:mvn 编译后的目录
recipes :官方的案例
//***********************************************配置zookeeper config************************************************************************//
cd conf
//copy 官方提供的模板并重命名另一个文件,我们不在官方模板中操作
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
里面的参数介绍
tickTime :用于计算的时间单元,单位为毫秒
initLimit:用于集群,允许从节点连接并同步到master节点的初始化时间
syncLimit:用于集群,master主节点与从节点之间发送消息,请求与应答时间长度(心跳机制)
dataDir:必须配置的,zookeeper数据
clientPort:连接服务器的端口。默认2181
dataLogDir:Log文件目录,不配置默认与dataDir一个目录
wq
创建配置的文件夹
mkdir dataDir
mkdir dataLogDir
启动zookeeper的服务端
//启动 ./zkServer.sh start //查看状态 ./zkServer.sh status //重启 ./zkServer.sh restart //stop ./zkServer.sh stop
启动zookeeper的客户端,启动后zookeeper会创建树类型的节点
./zkCli.sh
//查看zookeeper下的树形节点
ls /