ToB企服应用市场:ToB评测及商务社交产业平台

标题: 一文简单了解并部署Zookeeper集群 [打印本页]

作者: 没腿的鸟    时间: 2023-1-5 23:30
标题: 一文简单了解并部署Zookeeper集群
1.Zookeeper概述

Zookeeper对于很多人开始可能都有所耳闻,他的使用场景也很多,可以以节点的形式存储持久化数据,也可以使用这一特性来作为微服务的服务注册中心,简单来说,Zookeeper 是一个开源的分布式的,为分布式框架提供协调服务的 Apache 项目。
Zookeeper从设计模式角度来理解,是一个基于观察者模式设计的分布式服务管理框架。是一个文件系统,负责存储和管理大家都关心的数据,然后接受观察者的注册;也是一种通知机制,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。
2.Zookeeper的应用场景和一些注意事项

ZooKeeper 数据模型的结构与 Unix 文件系统很类似,整体上可以看作是一棵树,每个节点称做一个 ZNode。每一个 ZNode 默认能够存储 1MB 的数据,每个 ZNode 都可以通过其路径唯一标识。
Zookeeper的应用场景有许多,比如统一的配置管理,在许多分布式环境中,通常一个服务集群的配置文件信息是一致的,如果需要修改配置信息内容,不可能逐个对每个服务做修改,而是希望修改一次配置信息就可以同步给所有服务节点,Zookeeper就可以实现这个业务,十分简单,可以将服务的配置信息写入ZooKeeper上的一个Znode中,让每个集群节点的服务器都去监听这个Znode,一旦数据被修改,ZooKeeper将通知各个服务器,达到同步的效果。还可以做统一的集群管理、服务器的动态上下线、以及软负载均衡的效果。
在实践Zookeeper前还需要注意的内容:
3.简单部署Zookeeper集群

官网地址:https://zookeeper.apache.org/,本文采用VMware创建3台虚拟机构建集群,XShell工具连接虚拟机进行操作:
首先为机子安装jdk,采用yum源安装,注意设置yum,静等安装成功出现“Complete”即可:
  1. [root@localhost ~]# yum install -y java-1.8.0-openjdk.x86_64
复制代码
  1. [root@localhost ~]# cd /usr/local/
  2. [root@localhost local]# tar zxvf zookeeper-3.4.5.tar.gz
复制代码
  1. [root@localhost local]# mv zookeeper-3.4.5 zookeeper
复制代码
  1. [root@localhost local]# vi /etc/profile
  2. # 进入insert模式后在上方添加一下内容后保存退出
  3. export ZOOKEEPER_HOME=/usr/local/zookeeper
  4. export PATH=$PATH:$ZOOKEEPER_HOME/bin
复制代码
  1. [root@localhost zookeeper]# source /etc/profile
复制代码
  1. [root@localhost zookeeper]# cd conf/
  2. [root@localhost conf]# cp zoo_sample.cfg zoo.cfg
复制代码
  1. # 将配置文件中的dataDir替换为此路径
  2. dataDir=/usr/local/zookeeper/data
  3. # 在配置文件中添加以下配置,ip地址根据规划
  4. # 其中server.1代表集群的第几胎集群,后续会配置myid文件,myid文件内容和对应的数字保存一致,例如1.131这台机器myid就是1
  5. # ip地址为集群的三台机器,也可以配置host使用主机名,两个端口号心跳端口和数据端口
  6. dataLogDir=/usr/local/zookeeper/log
  7. server.1=192.168.1.11:2888:3888
  8. server.2=192.168.1.12:2888:3888
  9. server.3=192.168.1.13:2888:3888
复制代码
  1. [root@localhost conf]# cd ..
  2. [root@localhost zookeeper]# mkdir -m 755 data
  3. [root@localhost zookeeper]# mkdir -m 755 log
复制代码
  1. [root@localhost zookeeper]# cd data/
  2. [root@localhost data]# vi myid
复制代码
  1. [root@localhost data]# scp -r /usr/local/zookeeper root@192.168.1.12:/usr/local/
  2. [root@localhost data]# scp -r /usr/local/zookeeper root@192.168.1.13:/usr/local/
复制代码
  1. [root@localhost zookeeper]# bin/zkServer.sh start
  2. JMX enabled by default
  3. Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
  4. Starting zookeeper ... STARTED
  5. [root@localhost zookeeper]# bin/zkServer.sh status
  6. JMX enabled by default
  7. Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
  8. Error contacting service. It is probably not running.
复制代码
  1. [root@localhost zookeeper]# bin/zkServer.sh start
  2. JMX enabled by default
  3. Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
  4. Starting zookeeper ... STARTED
  5. [root@localhost zookeeper]# bin/zkServer.sh status
  6. JMX enabled by default
  7. Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
  8. Mode: leader
  9. [root@localhost zookeeper]#
复制代码
  1. [root@localhost zookeeper]# bin/zkServer.sh status
  2. JMX enabled by default
  3. Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
  4. Mode: follower
复制代码
  1. [root@localhost zookeeper]# bin/zkCli.sh
  2. WatchedEvent state:SyncConnected type:None path:null
  3. [zk: localhost:2181(CONNECTED) 0]
复制代码

Enjoy GreatSQL
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4