当前位置: 首页 > news >正文

zookeeper的高可用部署

  1. 说明:zookeeper是一个服务注册中心

2. zookeeper的部署

 2.1 三台主机

1
2
3
4
5
6
7
  192.168.56.15
  192.168.56.16
  192.168.56.17
  [root@zk01 ~] # cat /etc/hosts
192.168.56.15 zk01
192.168.56.16 zk02
192.168.56.17 zk03

 2.2 java环境

1
2
3
4
5
[root@zk01 ~] # java -version 
java version  "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
[root@zk01 ~] #

 2.3 做成这样的 

1
2
3
4
5
6
7
8
9
[root@zk01 ~] # cd  /opt
[root@zk01 opt] # ll
total 8
lrwxrwxrwx  1 root root   11 Dec 25 01:24 jdk -> jdk1.7.0_80
drwxr-xr-x  8   10  143 4096 Apr 11  2015 jdk1.7.0_80
drwxr-xr-x  2 root root   61 Dec 25 01:30 tools
lrwxrwxrwx  1 root root   15 Dec 25 01:29 zk01 -> zookeeper-3.4.9
drwxr-xr-x 12 1001 1001 4096 Dec 25 01:39 zookeeper-3.4.9
[root@zk01 opt] #

  2.4 修改zookeeper配置文件(zk01)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@zk01 conf] # pwd
/opt/zk01/conf
cp  zoo_sample.cfg  zoo.cfg 
 
vi  zoo.cfg
dataDir= /opt/zk01/datadir
dataLogDir= /opt/zk01/datalog  #自己加的
server.1=192.168.56.15:2888:3888
server.2=192.168.56.16:2888:3888
server.3=192.168.56.17:2888:3888
mkdir  /opt/zk01/datadir
mkdir  /opt/zk01/datalog
[root@zk01 datadir] # cat myid 
1
[root@zk01 datadir] # pwd
/opt/zk01/datadir
[root@zk01 datadir] #

 2.5 修改zookeeper配置文件(zk02)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@zk02 conf] # pwd
/opt/zk02/conf
cp  zoo_sample.cfg  zoo.cfg 
 
vi  zoo.cfg
dataDir= /opt/zk02/datadir
dataLogDir= /opt/zk02/datalog  #自己加的
server.1=192.168.56.15:2888:3888
server.2=192.168.56.16:2888:3888
server.3=192.168.56.17:2888:3888
mkdir  /opt/zk02/datadir
mkdir  /opt/zk02/datalog
[root@zk02 datadir] # cat myid 
2
[root@zk02 datadir] # pwd
/opt/zk03/datadir
[root@zk02 datadir] #

 2.6 修改zookeeper配置文件(zk03)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@zk03 conf] # pwd
/opt/zk03/conf
cp  zoo_sample.cfg  zoo.cfg 
 
vi  zoo.cfg
dataDir= /opt/zk03/datadir
dataLogDir= /opt/zk03/datalog  #自己加的
server.1=192.168.56.15:2888:3888
server.2=192.168.56.16:2888:3888
server.3=192.168.56.17:2888:3888
mkdir  /opt/zk03/datadir
mkdir  /opt/zk03/datalog
[root@zk03 datadir] # cat myid 
3
[root@zk03 datadir] # pwd
/opt/zk03/datadir
[root@zk03 datadir] #

2.7 启动zookeeper服务

按照顺序zk01  zk02 zk03的顺序

依次启动zookeeper服务

1
2
3
[root@zk01 bin] # pwd
/opt/zk01/bin
[root@zk01 bin] # ./zkServer.sh  start

2.8 验证服务是否正常(每个都要验证下)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[root@zk01 bin] # ./zkCli.sh   -server 192.168.56.15:2181
正常状态
[root@zk01 bin] # ./zkCli.sh   -server 192.168.56.15:2181
Connecting to 192.168.56.15:2181
2016-12-25 02:11:10,892 [myid:] - INFO  [main:Environment@100] - Client environment:zookeeper.version=3.4.9-1757313, built on 08 /23/2016  06:50 GMT
2016-12-25 02:11:10,900 [myid:] - INFO  [main:Environment@100] - Client environment:host.name=zk01
2016-12-25 02:11:10,900 [myid:] - INFO  [main:Environment@100] - Client environment:java.version=1.7.0_80
2016-12-25 02:11:10,905 [myid:] - INFO  [main:Environment@100] - Client environment:java.vendor=Oracle Corporation
2016-12-25 02:11:10,905 [myid:] - INFO  [main:Environment@100] - Client environment:java.home= /opt/jdk1 .7.0_80 /jre
2016-12-25 02:11:10,906 [myid:] - INFO  [main:Environment@100] - Client environment:java.class.path= /opt/zk01/bin/ .. /build/classes : /opt/zk01/bin/ .. /build/lib/ *.jar: /opt/zk01/bin/ .. /lib/slf4j-log4j12-1 .6.1.jar: /opt/zk01/bin/ .. /lib/slf4j-api-1 .6.1.jar: /opt/zk01/bin/ .. /lib/netty-3 .10.5.Final.jar: /opt/zk01/bin/ .. /lib/log4j-1 .2.16.jar: /opt/zk01/bin/ .. /lib/jline-0 .9.94.jar: /opt/zk01/bin/ .. /zookeeper-3 .4.9.jar: /opt/zk01/bin/ .. /src/java/lib/ *.jar: /opt/zk01/bin/ .. /conf :.: /opt/jdk/lib : /opt/jdk/jre/lib : /opt/jdk/lib/tools .jar
2016-12-25 02:11:10,906 [myid:] - INFO  [main:Environment@100] - Client environment:java.library.path= /usr/java/packages/lib/amd64 : /usr/lib64 : /lib64 : /lib : /usr/lib
2016-12-25 02:11:10,906 [myid:] - INFO  [main:Environment@100] - Client environment:java.io.tmpdir= /tmp
2016-12-25 02:11:10,907 [myid:] - INFO  [main:Environment@100] - Client environment:java.compiler=<NA>
2016-12-25 02:11:10,907 [myid:] - INFO  [main:Environment@100] - Client environment:os.name=Linux
2016-12-25 02:11:10,907 [myid:] - INFO  [main:Environment@100] - Client environment:os.arch=amd64
2016-12-25 02:11:10,908 [myid:] - INFO  [main:Environment@100] - Client environment:os.version=3.10.0-514.2.2.el7.x86_64
2016-12-25 02:11:10,908 [myid:] - INFO  [main:Environment@100] - Client environment:user.name=root
2016-12-25 02:11:10,908 [myid:] - INFO  [main:Environment@100] - Client environment:user.home= /root
2016-12-25 02:11:10,909 [myid:] - INFO  [main:Environment@100] - Client environment:user. dir = /opt/zookeeper-3 .4.9 /bin
2016-12-25 02:11:10,918 [myid:] - INFO  [main:ZooKeeper@438] - Initiating client connection, connectString=192.168.56.15:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@2f49f848
Welcome to ZooKeeper!
2016-12-25 02:11:10,969 [myid:] - INFO  [main-SendThread(192.168.56.15:2181):ClientCnxn$SendThread@1032] - Opening socket connection to server 192.168.56.15 /192 .168.56.15:2181. Will not attempt to authenticate using SASL (unknown error)
2016-12-25 02:11:10,975 [myid:] - INFO  [main-SendThread(192.168.56.15:2181):ClientCnxn$SendThread@876] - Socket connection established to 192.168.56.15 /192 .168.56.15:2181, initiating session
JLine support is enabled
2016-12-25 02:11:11,018 [myid:] - INFO  [main-SendThread(192.168.56.15:2181):ClientCnxn$SendThread@1299] - Session establishment complete on server 192.168.56.15 /192 .168.56.15:2181, sessionid = 0x15931f6222c0002, negotiated timeout = 30000
 
WATCHER::
 
WatchedEvent state:SyncConnected  type :None path:null
[zk: 192.168.56.15:2181(CONNECTED) 0]

2.9查看每个服务器的状态信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@zk01 bin] # ./zkServer.sh  status
ZooKeeper JMX enabled by default
Using config:  /opt/zk01/bin/ .. /conf/zoo .cfg
Mode: follower
[root@zk01 bin] #
[root@zk02 bin] # ./zkServer.sh  status
ZooKeeper JMX enabled by default
Using config:  /opt/zk02/bin/ .. /conf/zoo .cfg
Mode: leader
[root@zk02 bin]
[root@zk03 bin] # ./zkServer.sh  status
ZooKeeper JMX enabled by default
Using config:  /opt/zk03/bin/ .. /conf/zoo .cfg
Mode: follower
[root@zk03 bin] #

2.10 端口简介:

1
2
3
4
zookeepr 客户端的调用的端口是2181 在zoo.cfg中 
server.1=192.168.56.15:2888:3888
2888 follower和 leader之间的通讯的端口
3888 是如果leader当机了 zookeeper服务器之间的选举的端口









本文转自 小小三郎1 51CTO博客,原文链接:http://blog.51cto.com/wsxxsl/1885812,如需转载请自行联系原作者

相关文章:

  • linux 安装jdk
  • [SQL调优] Maclean讲SQL调优精要
  • (转)linux 命令大全
  • Android Activity的生命周期
  • left join的多重串联与groupby
  • 线性结构之数组
  • js,query 选择radio+选中select+checkbox选中
  • Nagiso 监控服务器的RAID磁盘阵列状态
  • java 面试题解惑一 类的初始化顺序
  • Java虚拟机支持的最大内存限制
  • protobuf编码规则
  • Azure Web应用中设置静态虚拟目录的方法(比如部署Django需要用到)
  • Java左右补齐字符长度
  • Samba服务器搭建
  • linux 安装php
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • 【译】理解JavaScript:new 关键字
  • es6--symbol
  • exports和module.exports
  • HTML5新特性总结
  • input实现文字超出省略号功能
  • php ci框架整合银盛支付
  • Vim 折腾记
  • 程序员最讨厌的9句话,你可有补充?
  • 简单实现一个textarea自适应高度
  • 你真的知道 == 和 equals 的区别吗?
  • 如何用vue打造一个移动端音乐播放器
  • 深入浅出Node.js
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 最近的计划
  • 数据库巡检项
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • !$boo在php中什么意思,php前戏
  • #{}和${}的区别是什么 -- java面试
  • #QT(TCP网络编程-服务端)
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (2022 CVPR) Unbiased Teacher v2
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (C语言)fread与fwrite详解
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (第二周)效能测试
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (五)IO流之ByteArrayInput/OutputStream
  • (转)Mysql的优化设置
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET项目中存在多个web.config文件时的加载顺序
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • [20150904]exp slow.txt
  • [Android Studio 权威教程]断点调试和高级调试
  • [AutoSar]BSW_OS 02 Autosar OS_STACK
  • [C# 开发技巧]如何使不符合要求的元素等于离它最近的一个元素