Zookeeper系列文章
1.Zookeeper简介
2.Zookeeper集群安装
3.原生API操作Zookeeper
4.zkClient框架操作Zookeeper
5.Curator框架操作Zookeeper
Zookeeper集群安装
1.准备三个节点(此文章用的是centos,zk服务集群规模不小于3个节点),要求三台服务器之间系统时间保持一致.
2 进行解压:tar -zxvf zookeeper.3.4.5. Tar. Gz -C /usr/local/zookeeper到你指定的目录,这里我解压到/usr/local/zookeeper
3 修改环境变量:
- vi /etc/profile
- export ZOOKEEPER"HOME :/usr/local/zookeeper
- export PATH=,: $HADOOP HoME/bin;$ZOOKEEPER HoME/bin:$JAVA home/..
4 刷新:source /etc/profile
5 到 zookeeper 下修改配置文件
- cd /usr/local/zookeeper/conf
- mv zoo_sample. cfg zoo.cfg
6 修改conf:
vi zoo. Cfg //修改两处
dataDir=/usr/local/zookeeper/data
//最后面添加
server.0=192.168.0.160:2888;3888
server.1=192.168.0.161:2888: 3888
server.2=192.168.0.162:2888: 3888
7 服务器标识配置:
- 创建文件夹:mkdir data
- 创建文件 myid 并填写内容为 0: vi myid(内容为服务器标识:0)
8 进行复制 zookeeper目录到其它两台服务器上,并且按照第三,四步修改/etc/profile文件
9 把另外两台服务器中的 myid文件里的值修改为 1和2路径
10 启动 zookeeper:
cd /usr/local/zookeeper/bin
执行:zkServer. Sh start (主意这里 3 台机器都要进行启动)
状态:zkServer. Sh status
(在三个节点上分别检验 zk 的 mode, 只要出现-个leader 和俩个 follower,到此zookeeper集群安装完成)
配置文件zoo.cfg详解
- TickTime:基本事件单元,以毫秒为单位。这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每隔 tick Time 时间就会发送一个心跳。
- dataDir:存储内存中数据库快照的位置,顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
- clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
- initLimit:这个配置项是用来配置 Zookeeper 接受客户端初始化连接时最长能忍受多少个心跳时间间隔数,当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10*2000 20 秒。
- syncLimit:这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 5*2000=10 秒。
- server. A= B: C: D
- A 表示这个是第几号服务器,
- B 是这个服务器的 ip 地址;
- C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;
- D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader
Zookeeper操作shell
- zkClient 进入zookeeper客户端
- 根据提示命令进行操作
- 查找: ls /
- 创建并复制: create /node1 node1
- 获取: get /node1
- 设值: set /node1 node1111
- 递归删除节点: rmr /node1
- 删除某个指定节点: delete /node1
- 创建节点有两种类型:短暂(ephemeral) 持久(persistent)
网友评论