Windows下zookeeper注册中心的安装和启动
zookeeper的安装支持单机模式和集群模式
下载地址:http://www.apache.org/dyn/closer.cgi/zookeeper/,当前稳定版本为3.4.8
单机模式
修改zookeeper配置文件zoo.cfg
解压后进入conf目录,修改zoo_sample.cfg文件名为:zoo.cfg,这是因为zookeeper启动时默认加载zoo.cfg配置文件。修改zoo.cfg文件内容如下:
# The number of milliseconds of each tick
#tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
#默认情况下最小的会话超时时间为两倍的tickTime
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
#zookeeper集群中的包含多台server, 其中一台为leader, 集群中其余的server为follower. initLimit参数配置初始化连接时,
#follower和leader之间的最长心跳时间. 此时该参数设置为5, 说明时间限制为5倍tickTime, 即5*2000=10000ms=10s.
initLimit=5
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
#该参数配置leader和follower之间发送消息, 请求和应答的最大时间长度. 此时该参数设置为2, 说明时间限制为2倍tickTime, 即4000ms.
syncLimit=2
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
#dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
dataDir=D:\\zookeeper-3.4.8\\data
#dataLogDir:顾名思义就是 Zookeeper 保存日志文件的目录
dataLogDir=D:\\zookeeper-3.4.8\\log
# the port at which the clients will connect
#clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns:限制连接到 ZooKeeper 的客户端的数量
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
需要在zookeeper-3.4.8文件夹下新建data和log文件夹
启动zookeeper
cmd命令进入zookeeper-3.4.8\bin目录,启动zkServer.cmd
或者直接双击zkServer.cmd启动,双击后窗口不会关闭,如果关闭了表示未启动成功
如果jdk环境变量设置了,但是提示JAVA_HOME找不到,则需要修改该目录下的zkEnv.cmd关于JAVA_HOME的一部分
set JAVA_HOME="D:\Program Files\Java\jdk1.7.0_75" if not defined JAVA_HOME (
echo Error: JAVA_HOME is not set.
goto :eof
) if not exist %JAVA_HOME%\bin\java.exe (
echo Error: JAVA_HOME is incorrectly set.
goto :eof
) set JAVA=%JAVA_HOME%\bin\java
伪集群模式
所谓伪集群, 是指在单台机器中启动多个zookeeper进程,,并组成一个集群, 以启动3个zookeeper进程为例。
把zookeeper-3.4.8文件夹复制2份,这三个文件夹分别命名为zookeeper-3.4.8-1、zookeeper-3.4.8-2、zookeeper-3.4.8-3
下面是zookeeper-3.4.8-1/conf文件夹下的zoo.cfg文件中配置的几个选项:
dataDir=D:\\zookeeper-3.4.8-1\\data
dataLogDir=D:\\zookeeper-3.4.8-1\\log
clientPort=2181
server.1=127.0.0.1:8281:7271
server.2=127.0.0.1:8282:7272
server.3=127.0.0.1:8283:7273
server.X=A:B:C 其中X是一个数字, 表示这是第几号server. A是该server所在的IP地址. B配置该server和集群中的leader交换消息所使用的端口. C配置选举leader时所使用的端口. 由于配置的是伪集群模式, 所以各个server的B, C参数必须不同。
参照zookeeper-3.4.8-1/conf文件夹下zoo.cfg文件,分别配置zookeeper-3.4.8-2/conf/zoo.cfg、zookeeper-3.4.8-3/conf/zoo.cfg文件,只需要修改dataDir、dataLogDir、clientPort即可。
在三个zoo.cfg文件中设置的dataDir目录下新建myid文件,写入一个数字, 该数字表示这是第几号server,该数字必须和zoo.cfg文件中的server.X中的X对应。如D:\\zookeeper-3.4.8-1\\data\\myid文件中数字是1。
然后就是分别启动三个zookeeper了。
集群模式
集群模式的配置和伪集群基本一致.
由于集群模式下, 各server部署在不同的机器上, 因此各server的conf/zoo.cfg文件可以完全一样。
下面是一个示例:
tickTime=2000
initLimit=5
syncLimit=2
dataDir=D:\\zookeeper-3.4.8\\data
dataLogDir=D:\\zookeeper-3.4.8\\log
clientPort=2181
server.21=192.168.0.1:8280:7270
server.22=192.168.0.2:8280:7270
server.23=192.168.0.3:8280:7270
示例中部署了3台zookeeper server,分别部署在192.168.0.1、192.168.0.2、192.168.0.3上。 需要注意的是,各server的dataDir目录下的myid文件中的数字必须不同。
192.168.0.1server的myid为21,192.168.0.2server的myid为22,192.168.0.3server的myid为23。
Windows下zookeeper注册中心的安装和启动的更多相关文章
- Dubbo(六):zookeeper注册中心的应用
Dubbo中有一个非常本质和重要的功能,那就是服务的自动注册与发现,而这个功能是通过注册中心来实现的.而dubbo中考虑了外部许多的注册组件的实现,zk,redis,etcd,consul,eurek ...
- Dubbo框架应用之(三)--Zookeeper注册中心、管理控制台的安装及讲解
我是在linux下使用dubbo-2.3.3以上版本的zookeeper注册中心客户端.Zookeeper是Apache Hadoop的子项目,强度相对较好,建议生产环境使用该注册中心.Dubbo未对 ...
- dubbo服务治理中间件,zookeeper注册中心 安装配置
对传统项目架构进行拆分: 集群概念: 面向服务分布式架构: 服务层提供被注册的对象需要实现序列化接口Serializable: 配置表现层和服务层: 依赖包: 服务层: <!-- 定义dubbo ...
- windows下zookeeper集群安装
windows下zookeeper单机版安装,见:https://www.cnblogs.com/lbky/p/9867899.html 一:zookeeper节点为什么是奇数个? 单机模式的zk进程 ...
- dubbo连接zookeeper注册中心因为断网导致线程无限等待问题【转】
最近维护的系统切换了网络环境,由联通换成了电信网络,因为某些过滤规则导致系统连不上zookeeper服务器(应用系统机器在深圳,网络为电信线路,zookeeper服务器在北京,网络为联通线路),因为我 ...
- Dubbo(二):zookeeper 注册中心
zookeeper 注册中心 Zookeeper 是 Apacahe Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注册中心,工业强度较高,可用于生产环境,并 ...
- Spring Cloud 系列之 ZooKeeper 注册中心
什么是注册中心 服务注册中心是服务实现服务化管理的核心组件,类似于目录服务的作用,主要用来存储服务信息,譬如提供者 url 串.路由信息等.服务注册中心是微服务架构中最基础的设施之一. 注册中心可以说 ...
- 微服务架构 | 3.3 Apache Zookeeper 注册中心
@ 目录 前言 1. Zookeeper 基础知识 1.1 Zookeeper 是什么 1.2 Zookeeper 的数据结构 1.3 Watcher 机制 1.4 常见应用场景分析 1.5 Zook ...
- dubbo服务治理中间件,zookeeper注册中心
对传统项目架构进行拆分: 集群概念: 面向服务分布式架构: 服务层提供被注册的对象需要实现序列化接口Serializable: 配置表现层和服务层: 依赖包: 服务层: <!-- 定义dubbo ...
随机推荐
- php的yii框架开发总结7
protected\config\main.php是整个网站中很重要的一个文件,引用文件,连接数据库,默认页面等都是在这里设置: 'import'=>array( 'application.mo ...
- Office加载项安装
出自我的个人主页 Alvin Blog 前言 Excel加载项离不开安装,Excel加载项本身安装及其简单,但这是在申请下来Office开发者账户之后,再次之前都得自行安装 线上安装 微软申请开发者账 ...
- 笨办法学Python(二十二)
习题 22: 到现在你学到了哪些东西? 这节以及下一节的习题中不会有任何代码,所以也不会有习题答案或者加分习题.其实这节习题可以说是一个巨型的加分习题.我将让你完成一个表格,让你回顾你到现在学到的所有 ...
- 【2017-07-04】Qt信号与槽深入理解之一:信号与槽的连接方式
今天是个好日子,嗯. 信号槽机制是Qt的特色功能之一,类似于windows中的消息机制,在不同的类对象间传递消息时我们经常使用信号槽机制,然而很多时候都没有去关注connect()函数到底有几种重载的 ...
- jrtplib源码分析 第一篇 jthread的编译与分析
第一篇 jthread的编译与分析 jrtplib代码依赖库jthread,因此先从jthread开始jrtplib的学习.首先从以下链接下载jthread的源代码http://research.ed ...
- 使用shell脚本实现在liunx上进行svn的上传下载更新功能
最近有个功能,是需要从在liunx上拉取svn地址,并创建一个新文件进行提交,shell脚本如下 #!/bin/bash echo "Hello World !" myFile=& ...
- 后缀数组入门(二)——Height数组与LCP
前言 看这篇博客前,先去了解一下后缀数组的基本操作吧:后缀数组入门(一)--后缀排序. 这篇博客的内容,主要建立于后缀排序的基础之上,进一步研究一个\(Height\)数组以及如何求\(LCP\). ...
- ORA-00392: log 4 of thread 2 is being cleared, operation not allowed
alter database open resetlogs或者 alter database open resetlogs upgrade报错:ORA-00392 在rman restore 还原数 ...
- Filter,一种aop编程思想的体现
一.filter简介 filter是Servlet规范里的一个高级特性,只用于对request.response的进行修改. filter提出了FilterChain的概念,客户端请求request在 ...
- Inventory Update-freecodecamp算法题目
Inventory Update 1.要求 依照一个存着新进货物的二维数组,更新存着现有库存(在 arr1 中)的二维数组. 如果货物已存在则更新数量 . 如果没有对应货物则把其加入到数组中,更新最新 ...