zookeeper的安装使用
转载从:https://blog.csdn.net/shenlan211314/article/details/6170717
一、zookeeper 介绍
ZooKeeper 是一个为分布式应用所设计的分布的、开源的协调服务。它的文件系统使用我们所熟悉的目录树结构。ZooKeeper 使用 Java 所编写,但是支持 Java 和 C 两种编程语言。我们设计 ZooKeeper 的目的是为了减轻分布式应用程序所承担的协调任务。
二、zookeeper的安装
首先linux系统需要安装jdk8
下载
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/
下载:apache-zookeeper-3.4.14.tar,上传至服务器
单机模式:通俗,就是只安装在同一台机子上面
解压:
tar -xvf apache-zookeeper-3.4.14.tar.gz
删除安装包:
rm -rf apache-zookeeper-3.4.14.tar.gz
重命名:
配置环境变量:
export ZOOKEEPER_HOME=/home/linewell/zookeeper export PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH
source /etc/profile
配置zookeeper
修改配置文件的名字:
创建data目录:
配置zookeeper:
vim zoo.cfg
tickTime:心跳时间,为了确保连接存在的,以毫秒为单位,最小超时时间为两个心跳时间
initLimit:多少个心跳时间内,允许其他server连接并初始化数据,如果ZooKeeper管理的数据较大,则应相应增大这个值
clientPort:服务的监听端口
dataDir:用于存放内存数据库快照的文件夹,同时用于集群的myid文件也存在这个文件夹里(注意:一个配置文件只能包含一个dataDir字样,即使它被注释掉了。)
dataLogDir:用于单独设置transaction log的目录,transaction log分离可以避免和普通log还有快照的竞争
syncLimit:多少个tickTime内,允许follower同步,如果follower落后太多,则会被丢弃。
server.A=B:C:D:
A是一个数字,表示这个是第几号服务器,B是这个服务器的ip地址
C第一个端口用来集群成员的信息交换,表示的是这个服务器与集群中的Leader服务器交换信息的端口
D是在leader挂掉时专门用来进行选举leader所用
配置如下:
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
#dataDir=/tmp/zookeeper
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
maxClientCnxns=0
#
minSessionTimeout=4000
maxSessionTimeout=10000
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
dataDir=/usr/local/zookeeper/data
server.1=ip:2888:3888
启动:
/home/linewell/zookeeper/bin/zkServer.sh start /home/linewell/zookeeper/conf/zoo.cfg
查看状态:
zkServer.sh status
启动报错:
切换成前台启动:
./bin/zkServer.sh start-foreground
然后就可以查看打印的信息。
搭建zookeeper集群,搭建zookeeper集群的方式和单机的方式大同小异。需要在datadir所指向的目录创建一个叫做myid的文件。上面写下当前服务器的编号。
然后myid里面写下当前服务器的编号。然后配置到zoo.cfg当中。
zoo.cfg的服务器配置:
server.1=ip:2888:3888
server.2=ip:2888:3888
zookeeper 四字命令的使用
先yum安装nc
yum install -y nc
然后测试:
就可以得到配置信息了。
zookeeper的命令行工具使用
输入
zkCli.sh –server 10.77.20.23:2181
进入命令行工具
输入 help 之后,屏幕会输出可用的 ZooKeeper 命令
相关命令使用:
查看特定的路径下,的节点信息,就是查兰特定路径下的节点:
创建一个节点,并添加数据:
查看节点的字符串信息:
重置节点的字符串信息:
然后从新查看,可以发现,已经被重置了。
delete操作删除对应的节点:
删除后用ls命令查看,发现没有了对应的节点了。
zookeeper相关的api介绍:
maven依赖:
<dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.13</version> </dependency>
demo:
图片copy从:https://blog.csdn.net/asd54090/article/details/80920489