当Crystal框架项目需要使用到Zookeeper服务时(如使用Dubbo RPC时,需要注册服务到Zookeeper),而独立部署和启动Zookeeper服务不仅繁琐,也容易出现错误。
在小型项目或开发阶段时,建议将Zookeeper服务内嵌到Crystal框架项目中启动。
分步指南Crystal框架项目中引入crystal-extend-zookeeper模块即可,如下:
<dependency> <groupId>com.gsoft.crystal</groupId> <artifactId>crystal-extend-zookeeper</artifactId> </dependency>
默认情况下,Zookeeper服务启动端口为2181,可以通过Crystal框架参数覆盖机制,重新配置如下参数:
zk.server.port=2181 zk.server.tickTime=1000 zk.server.baseDirectory=d:/zookeeper zk.server.snapDirectory=d:/zookeeper/snaps zk.server.logDirectory=d:/zookeeper/logs zk.server.max.connections=4096
zk.server.baseDirectory参数未指定时,默认为系统临时文件夹; zk.server.snapDirectory参数未指定时,默认为baseDirectory下的zookeeper/snaps; zk.server.logDirectory参数未指定时,默认为baseDirectory下的zookeeper/logs;
启动项目时,Zookeeper服务将自动启动。
内嵌的Zookeeper服务为单机模式,需要集群的话,必须独立部署。
Ubuntu 14.04安装分布式存储Sheepdog+ZooKeeper
CentOS 6安装sheepdog 虚拟机分布式储存