上一篇《快速搭建zookeeper集群环境》已经搭建好了zookeeper集群环境,本篇介绍zookeeper一些常用配置及怎么使用zookeeper命令行模式多znode进行增删改查等操作。
注意:为了在开发环境下方便,以下内容是在root用户下操作的。
1.配置zookeeper环境变量
为了方便使用zookeeper提供的命令,需要在linux环境中把环境变量配置好。
在liunx环境中大致有三种配置环境变量的方法,笔者参照了《linux centos下三种配置java环境变量的方法》的第1种,具体步骤如下:
1.1 查看本机zookeeper的安装目录
可知zookeeper的安装目录为 /usr/local/zookeeper/zookeeper-3.4.10/
1.2 编写/etc/profile
使用命令:
vim /etc/profile
添加以下内容:
export ZOOKEEPER_HOME=/usr/local/zookeeper/zookeeper-3.4.10 export PATH=$PATH:$ZOOKEEPER_HOME/bin |
使配置生效
source /etc/profile
测试-启动zookeeper:
到此,zookeeper环境变量已经配置好,以后执行命令只需使用 zookeeker 脚本名称 命令 即可,例启动:zkServer.sh start
切换到zookeeper的bin目录,可以查看以下脚本,其对应的命令读者可以自行学习。
2.命令行操作znode
按照以上方法分别在node2、node3上配置zookeeper环境变量,并且执行,启动 zookeeper.sh start
2.1 查看当前节点的模式
分别在node1、node2、node3节点上执行 zkServer.sh status
可以看出:node3节点为leader,node1和node2是follower
2.2 zookeeper集群节点的同步
使用客户端连接zookeeper
查看所有命令 help
查看znode节点:ls /
当前只有一个默认的节点zookeeper.
新建znode节点: /user
/user创建成功,切换到node2和node3上查看是否已经同步过去了。
经查看 node2和node3已经同步了node1创建的/user 了。这种快速同步的功能也就是zookeeper的强大之一了。
/user 重新设值:
经过get获取,可以查看到值已经更改。
删除:
3.zookeeper配置文件说明(摘抄《Centos7下安装zookeeper以及配置文件详解》)
#ZK中的一个时间单元。ZK中所有时间都是以这个时间单元为基础,进行整数倍配置的。
#例如,session的最小超时时间是2*tickTime
tickTime=2000
#Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。Leader允许F在 initLimit
#时间内完成这个工作。通常情况下,我们不用太在意这个参数的设置。如果ZK集群的数据量确实很大了,F在启动的时候,
#从Leader上同步数据的时间也会相应变长,因此在这种情况下,有必要适当调大这个参数了
initLimit=10
#在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。
#如果L发出心跳包在syncLimit之后,还没有从F那里收到响应,那么就认为这个F已经不在线了。
#注意:不要把这个参数设置得过大,否则可能会掩盖一些问题
syncLimit=5
#存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里。建议同时配置参数dataLogDir, 事务日志的写性能
#直接影响zk性能
dataDir=/usr/local/zookeeper/zookeeper-3.4.10/data
#事务日志输出目录。尽量给事务日志的输出配置单独的磁盘或是挂载点,这将极大的提升ZK性能
dataLogDir=/usr/local/zookeeper/zookeeper-3.4.10/logs
#客户端连接server的端口,即对外服务端口,一般设置为2181吧
clientPort=2181
#第一个端口用于F和L之间的数据同步和其它通信,第二个端口用于Leader选举过程中投票通信,
#server.x这里的x是一个数字,与myid文件中的id是一致的
server.1=192.168.1.102:2888:3888