zookeeper的中文意思是动物管理员,是一向适用于分布式应用程序的高性能协调服务,用于维护配置信息、命名、提供分布式分布和提供组服务。
zookeeper是Apacahe Hadoop的子项目,是一种树形目录,支持变更推送,适合作为Dubbo服务的注册中心,工业强度较高,可用于生成环境,并推荐使用。
了解知识点:
ZooKeeper由多个组件完成,包括客户端,服务器,本机客户端,Contrib等组件。
要求:
ZooKeeper 在 Java 1.8 版或更高版本中运行(不支持 JDK 8 LTS、JDK 11 LTS、JDK 12 - Java 9 和 10)
ZooKeeper集合一部分的每台机器都应该知道集合中的其他机器。您可以使用服务器.id=host:port:port 格式的一系列行来实现此目的
修改zoo.cfg的默认配置
修改有两个地方:
-dataDir=./文件存放数据位置
client=2181 zookeeper的端口号
修改完后启动bin目录下的zkServer.cmd,查看是否成功启动
使用bin目录下的zkCli.cmd测试(客户端连接到ZooKeeper)
先启动zkServer.cmd,再启动zkCli.cmd
命令: create -e /liang 123
解释:
“/liang”是指定节点的命名,要使用 “/”,是因为zookeeper是一种树形目录,ZooKeeper命名空间的每个节点都有路径标识,通过路径来实现节点的分层。
使用术语znode来明确表示ZooKeeper数据节点,ZooKeeper 命名空间中的每个节点都可以具有与其关联的数据以及子节点,临时节点与会话有关。
123是znode关联的数据。
树形目录结构如下图:
获得节点
其他的操作命令可以通过help来获取
并且可以在bin目录下看到一个文件夹里面存放着我们输入的节点和数据
ZooKeeper集合一部分的每台机器都应该知道集合中的其他机器。您可以使用服务器.id=host:port:port 格式的一系列行来实现此目的
注意: 如果一个计算机要测试多个服务器,请将服务器名称指定为 localhost,并为每个服务器提供唯一的仲裁和领导者选举端口(即 2888:3888、2889:3889、2890:3890)。
服务器启动时,它通过在数据目录中查找文件myid来确定是哪个服务器。该文件包含ASCII中的服务器编号,并且它会与server.x的x匹配。
注意:
创建的myid文件是没有后缀的
dubbo本身并不是服务软件,它其实就是一个jar包,能够帮你的java程序连接到zookeeper,并利用zookeeper注册中心消费、提供服务。
Dubbo Admin是管理控制台的意思,采用前后端分离的模式,提供了一个可视化的监控程序dubbo-admin。
下载地址
解压进入dubbo-admin-developdubbo-admin-serversrcmain esourcesapplication.properties
server.port=7001
spring.velocity.cache=false
spring.velocity.charset=UTF-8
spring.velocity.layout-url=/templates/default.vm
spring.messages.fallback-to-system-locale=false
spring.messages.basename=i18n/message
spring.root.password=root
spring.guest.password=guest
dubbo.registry.address=zookeeper://127.0.0.1:2181
在Intellij IDEA的Maven点击package,完成打包
4,. 执行dubbo-admin arget 下的dubbo-admin-0.0.1-SNAPSHOT.jar
java -jar dubbo-admin-0.0.1-SNAPSHOT.jar
【注意:zookeeper的服务一定要打开!】
访问 http://localhost:7001/ ,进入登录页面输入配置文件中默认配置的,如下账号和密码
登录成功后,查看界面