文档章节

dubbo学习笔记 第一章 zookeeper安装配置

sesamefox
 sesamefox
发布于 2017/10/26 09:19
字数 690
阅读 101
收藏 0

   dubbo的实际使用中,基本都是使用zookeeper来管理它的服务,以及实现分布式调用。至于zookeeper是什么,具有什么用户,大家可以百度搜索了解一下。实际生产环境中,zookeeper的应用服务数目,基本都是奇数个,这是由于它的选举算法决定的:zookeeper有选举leader的概念,当某台服务得到半数以上的投票是它就可以成为这个集群的leader,举个例子,有5个zookeeper应用,超过半数就是3个;如果是6个zookeeper应用,超过半数也是3个,这样我们选择5个zookeeper应用就够支撑了。同样,如果zookeeper集群超过半数挂起,整个集群也会挂起,选择奇数个数也足够支撑。

一、安装过程

      从 http://zookeeper.apache.org/releases.html 这个地址下载zookeeper安装包,下载完成后我是放在/usr/loca/www目录下面,如图所示:

值得注意地是我这里还有一个data目录,后面配置zookeeper一些存储文件会用得到,我打算把它们指向这个目录下。

        zookeeper安装比较简单,它对主流的Linux系统兼容性都算比较好,接下来,我们就解压开这个tar.gz包,执行如下命令:

 tar -zxvf zookeeper-3.3.6.tar.gz,可以看到系统生成如下目录:

二、参数配置

进入这个生成的目录zookeeper-3.3.6目录,找到conf目录:

复制里面的zoo_sample.cfg文件到zoo.cfg,具体执行如下命令:

cp zoo_sample.cfg zoo.cfg

然后编辑zoo.cfg 文件,vi zoo.cfg,将里面的两行内容变更为:

dataDir=/usr/local/www/data    
dataLogDir=/usr/local/www/data

分别放置数据和日志。

三、zookeeper启动

bin/zkServer.sh start ,到此一个单机模式的zookeeper就配置完成,至于集群模式的zookeeper机器有限,这里不做介绍,集群配置过程也不复杂,可以自行百度了解。这里给大家介绍一个zookeeper简易客户端(ZooInspector),可以监控zookeeper状态。下图是我监控简图,所有zookeeper已经开始工作:

四,自己碰到的问题

在zookeeper启动后,data目录会有一个zookeeper_server.pid的文件,里面记录了zookeeper运行的pid号,这个pid号要跟真实运行的zookeeper的pid号保持一致,不然后续dubbo运行会出问题,可能消费者会调用不到提供者所提供的服务,怎么看会不会一致,这也是很简单,如下图:

上面两图就可以看出pid是一致,那什么情况会不一致,就是可能在zookeeper运行情况下,重复执行bin/zkServer.sh start会出现这个情况。

 

© 著作权归作者所有

sesamefox
粉丝 7
博文 13
码字总数 13317
作品 0
漳州
程序员
私信 提问
ZooKeeper教程资源收集(简介/原理/示例/解决方案)

菩提树下的杨过: ZooKeeper 笔记(1) 安装部署及hello world ZooKeeper 笔记(2) 监听数据变化 ZooKeeper 笔记(3) 实战应用之【统一配置管理】 ZooKeeper 笔记(4) 实战应用之【消除单点故障】...

easonjim
2017/09/05
0
0
dubbo学习笔记 第九章dubbo服务调用的安全控制

如果有看我这些笔记的人可能会觉得我应该讲讲dubbo-admin项目对提供者和消费者的服务调用控制了,但我觉得dubbo-admin这个东西部署起来很简单,不过里面确实也有一些bug,后面有时间给大家讲...

sesamefox
2017/11/03
1K
0
跟我学习dubbo-ZooKeeper注册中心安装

1、建议使用dubbo-2.3.3以上版本的使用zookeeper注册中心客户端 2、Zookeeper是Apache Hadoop的子项目,强度相对较好,建议生产环境使用该注册中心。 3、Dubbo未对Zookeeper服务器端做任何侵...

明理萝
2018/08/13
30
1
Zookeeper分布式集群安装与配置(CentOS6)

Zk是一个分布式服务框架,提供了协调分布式应用的基本服务,zk集群主要是保证服务的可靠性和稳定性,介绍一下集群的安装与配置,在安装之前需要安装好jdk,jdk的安装请网上查找相应的方法 Du...

chaun
2015/08/14
207
0
服务化改造实践(一)| Dubbo + ZooKeeper

“没有最好的技术,只有最合适的技术。”我想这句话也同样适用于微服务领域,没有最好的服务框架,只有最适合自己的服务改造。在 Dubbo 的未来规划中,除了保持自身技术上的领先性,关注性能...

中间件小哥
2018/08/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot 集成MongoDB

一、MongoDB 简介 MongoDB 如今是最流行的 NoSQL 数据库,被广泛应用于各行各业中,很多创业公司数据库选型就直接使用了 MongoDB,但对于大部分公司,使用 MongoDB 的场景是做大规模数据查询...

zw965
15分钟前
10
0
使用 Envoy 和 AdGuard Home 阻挡烦人的广告

> 原文链接:使用 Envoy 和 AdGuard Home 阻挡烦人的广告 通常我们使用网络时,宽带运营商会为我们分配一个 DNS 服务器。这个 DNS 通常是最快的,距离最近的服务器,但会有很多问题,比如: ...

米开朗基杨
48分钟前
14
0
springboot之全局处理异常封装

springboot之全局处理异常封装 简介 在项目中经常出现系统异常的情况,比如NullPointerException等等。如果默认未处理的情况下,springboot会响应默认的错误提示,这样对用户体验不是友好,系...

Purgeyao
59分钟前
22
0
cookie

cookie: n. 饼干;小甜点 为什么会引入Cookie(在客户端保持http状态) 因为http协议是一种无状态协议,web服务器本身不能识别出哪些请求是同一个服务器发送的,浏览器的每一次请求都是独立...

五公里
今天
23
0
PHP常用函数

<?php/** * 获取客户端IP * @return [string] [description] */function getClientIp() { $ip = NULL; if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $arr = explode('......

半缘修道半缘君丶
今天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部