单机版的ZooKeeper
~~>步骤:
①解压:tar -zxvf zookeeper-3.4.6.tar.gz
配置环境变量:vim /etc/profile.d/bigdata.sh
添加配置信息:
#profile zookeper
export ZK_HOME=/opt/zookeeper
export PATH=$PATH:$ZK_HOME/bin
source生效
②在conf目录下创建一个配置文件zoo.cfg
dataDir=/opt/zookeeper/data
注意:其中有一个配置信息,用来标识客户端连接的服务器(2181是zookeeper server的唯一标识):
# the port at which the clients will connect
clientPort=2181
③启动ZooKeeper的Server:
zkServer.sh start,
如果想要关闭,输入:zkServer.sh stop
如果想要查看状态,输入: zkServer.sh status
④客户端来连接zkServer
a、连接到ZooKeeper服务
zookeeper]# bin/zkCli.sh -server LENOVO01:2181
b、使用ls命令查看当前ZooKeeper中包含的内容
1] ls /
c、创建新的znode,使用create命令
2] create /zk testData
create /yujie-persistent "" //创建持久节点
create -e /yujie-ephemeral "" // 创建临时节点,-e临时节点
d、获取节点中的值,get命令
3] get /zk
e、使用set命令来对znode关联的字符串进行设置
4] set /zk mydata
f、删除节点
5] delete /zk
注意:上述的zk称之为zNode, 在真实的集群环境下,zNode中用于记录别的框架(Hadoop集群,HBase集群,ElasticSearch集群)进程的名以及其状态。
~~>zookeeper的默认配置文件为zookeeper/conf/zoo_sample.cfg,需要将其修改为zoo.cfg。其中各配置项的含义,解释如下:
1.tickTime:CS通信心跳时间
Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。tickTime以毫秒为单位。
tickTime=2000
2.initLimit:LF初始通信时限
集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。
initLimit=5
3.syncLimit:LF同步通信时限
集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数(tickTime的数量)。
syncLimit=2
4.dataDir:数据文件目录
Zookeeper保存数据的目录,默认情况下,Zookeeper将写数据的日志文件也保存在这个目录里。
dataDir=/opt/zookeeper/data
5.clientPort:客户端连接端口(new ServerSocket(ip,9999), Socket(9999))
客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。 ~>2181:zookeeper server的唯一标识
clientPort=2181
6.服务器名称与地址:集群信息(服务器编号,服务器地址,LF通信端口,选举端口)
这个配置项的书写格式比较特殊,规则如下:
server.N=YYY:A:B
server.101=LENOVO01:2888:3888
zookKeep集群搭建时,server的个数是奇数个!(少数服从多数!)