Giter Club home page Giter Club logo

zookeeperdemo's Introduction

zookeeper

zookeeper主从服务切换demo.

demo使用springboot、jdk1.8、zookeeper3.4.12、joda、slf4j+ log4j2

该demo实现 链接同一个zk, 启动2个jar服务,当其中一个服务停了或运行超时,另外一个服务就被切换为leader,适用于定时任务

zookeeper简单配置(具体可以网上搜索,有很多文章)

zookeeper解压即可使用。

1.配置Zookeeper的配置文件

进入zookeeper的conf目录,修改配置文件名

[root@localhost zookeeper-3.4.12]# cd conf
[root@localhost conf]# mv zoo_sample.cfg zoo.cfg
[root@localhost conf]# vim zoo.cfg

主要修改:
dataDir=/usr/local/zookeeper-3.4.12/data

server.0=192.168.253.1:2888:3888
server.1=192.168.253.1:2889:3889
server.2=192.168.253.1:2890:3890

首先 修改 dataDir,顾名思义就是【数据目录】了,修改成我们自定义的即可。
表单server.X的条目列出构成ZooKeeper服务的服务器。当服务器启动时,它通过查找数据目录中的文件myid来知道它是哪个服务器

server.X=A:B:C
X-代表服务器编号
A-代表ip
B和C-代表端口,这个端口用来系统之间通信

2、 根据dataDir进行X的配置【这里三台服务器不一样】

找到Zookeeper目录,新建data文件夹,并且在data文件夹下面创建一个文件,叫myid,并且在文件里写入server.X对应的X 如:server.0=192.168.253.1:2888:3888 这个zk下面的myid文件直接写0,server.1=192.168.253.1:2889:3889 这个zk下面的myid文件直接写1。

最后直接启动服务器 zkServer.sh start
输出:

[root@localhost zookeeper-3.4.12]# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.12/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

是否启动成功,执行以下命令
zkServer.sh status

其中springboot的.yml配置文件,可以在部署jar包的同级目录下建立config目录,将application-pro.yml、application-dev.yml、application.yml 这些配置文件放到config目录下,即可将jar包引用外置配置文件。

demo中已经添加了一个定时任务测试,保证多台机器时,只有一台机器跑定时任务,当前机器挂掉后,切换到另外一台机器。

zookeeperdemo's People

Contributors

liweidiao avatar

Watchers

James Cloos avatar adanac avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.