Zookeeper 集群安装
负载均衡(Load Balance)是分布式系统架构设计中必须考虑的因素之一,它通常是指,将请求/数据【均匀】分摊到多个操作单元上执行,负载均衡的关键在于【均匀】。常见互联网分布式架构如上,分为客户端层、反向代理nginx层、站点层、服务层、数据层。
- 现在使用最多的基于软件的负载均衡是Nginx和ZooKeeper:
- Nginx是著名的反向代理服务器,也被广泛的作为负载均衡服务器
- ZooKeeper是分布式协调服务框架,有时也被用来做负载均衡
Nginx

Nginx的负载均衡配置
(1)把多个web server配置到nginx中,用户访问Nginx时,就会自动被分配到某个web server。
(2)当网站规模变大,通常会进行服务拆分,各个服务独立部署,通过远程调用方式协同工作。
(3)为了保证稳定性,每个服务不会只使用一台服务器,也会作为一个集群存在,那么子集群也可以使用Nginx负载均衡。
ZooKeeper

ZooKeeper的负载均衡模式
(1)ZooKeeper作为一个服务的注册中心,每个服务在其注册中心登记,每台服务器知道自己是属于哪个服务,在服务器启动时,自己向所属服务进行登记
(2)服务的调用者到注册中心里面查找:能提供所需服务的服务器列表,然后自己根据负载均衡算法,从中选取一台服务器进行连接。
(3)调用者取到服务器列表后,就可以缓存到自己内部,省得下次再取,当服务器列表发生变化,例如某台服务器宕机下线,或者新加了服务器,ZooKeeper会自动通知调用者重新获取服务器列表
使用场景
使用Nginx,随着整个系统的演进, 服务 的数量会 增加 、每个服务集群中的 服务器 数量会 增加
这时就会有一些小麻烦,例如
(1)配置维护的成本变高,因为节点太多
(2)单点故障的风险增加了,因为热点服务的访问量很高,如果这个服务集群内的负载均衡服务出现问题,这个服务将失效
第一个问题,可以通过自己开发程序解决,但只是降低复杂度,并没有实际解决
第二个问题,可以通过双机高可用部署方案,使用另一台nginx负载均衡服务器随时待命,只是成本较高
ZooKeeper安装
下载:zookeeper-3.3.6.tar.gz
解压复制到三个文件夹

修改配置
vi ../../zookeeper1/conf/zoo.cfg
initLimit=
syncLimit=
tickTime=
dataDir=/home/xupp/zookeeper/zookeeper0/data_default/
dataLogDir=/home/xupp/zookeeper/zookeeper0/log_default/
clientPort=
server.=192.168.20.90::
server.=192.168.20.90::
server.=192.168.20.90::
initLimit=
syncLimit=
tickTime=
dataDir=/home/xupp/zookeeper/zookeeper1/data_default/
dataLogDir=/home/xupp/zookeeper/zookeeper1/log_default/
clientPort=
server.=192.168.20.90::
server.=192.168.20.90::
server.=192.168.20.90::
initLimit=
syncLimit=
tickTime=
dataDir=/home/xupp/zookeeper/zookeeper2/data_default/
dataLogDir=/home/xupp/zookeeper/zookeeper2/log_default/
clientPort=
server.=192.168.20.90::
server.=192.168.20.90::
server.=192.168.20.90::
创建对应文件夹data_default和log_default
创建myid文件 写入对应的服务编号 server.0 对应 0


启动
../../zookeeper2/bin/zkServer.sh start
停止
../../zookeeper2/bin/zkServer.sh stop
连接服务
../bin/zkCli.sh -server 127.0.0.1:

参考:http://blog.csdn.net/lan12334321234/article/details/70049945 http://blog.csdn.net/zhangyu_ad/article/details/68942158
Zookeeper 集群安装的更多相关文章
- 1、zookeeper集群安装
前提准备3台centos7.0虚拟机 c7003:192.168.70.103 c7004:192.168.70.104 c7005:192.168.70.105 并在三台虚拟机上配置hosts为 1 ...
- 原创:centos7.1下 ZooKeeper 集群安装配置+Python实战范例
centos7.1下 ZooKeeper 集群安装配置+Python实战范例 下载:http://apache.fayea.com/zookeeper/zookeeper-3.4.9/zookeepe ...
- hbase和ZooKeeper集群安装配置
一:ZooKeeper集群安装配置 1:解压zookeeper-3.3.2.tar.gz并重命名为zookeeper. 2:进入~/zookeeper/conf目录: 拷贝zoo_sample.cfg ...
- Zookeeper集群安装Version3.5.1
Zookeeper集群安装,基于版本3.5.1, 使用zookeeper-3.5.1-alpha.tar.gz安装包. 1.安装规划 zookeeper集群模式,安装到如下三台机器 10.43.159 ...
- Zookeeper集群安装详解
Zookeeper的角色 Zookeeper集群搭建 要求:服务器集群规模不小于3个节点,各服务器之间系统时间要保持一致! 安装步骤 1.在h1节点解压,目录改名. tar –zxvf zooke ...
- ZooKeeper集群安装
ZooKeeper是Apache提供的.分布式服务协调系统,应用比較广泛. 由于项目中使用Kafka MQ,而Kafka全然使用ZooKeeper实现Kafka各组件的服务协调,包含Broker.Co ...
- Zookeeper 集群安装配置,超详细,速度收藏!
今天,栈长分享下 Zookeeper 的集群安装及配置. 下载 下载地址:http://zookeeper.apache.org/ 下载过程就不说了,我们下载了最新的zookeeper-3.4.11. ...
- centos7下zookeeper集群安装部署
应用场景:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件. 它是一个为分布式应用提供一致性服务的软 ...
- Zookeeper 集群安装配置
今天,栈长分享下 Zookeeper 的集群安装及配置. 下载 下载地址:http://zookeeper.apache.org/ 下载过程就不说了,我们下载了最新的zookeeper-3.4.11. ...
- zookeeper 集群安装与配置
Zookeeper安装和配置 准备工作 安装 JDK,此步略. 下载 zookeeper wget http://archive.apache.org/dist/zookeeper/zookeeper ...
随机推荐
- JAVAscript学习笔记 js异常 第二节 (原创) 参考js使用表
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- day2--计算机基础
一.服务器 1u服务器,1u=4.45cm 戴尔服务器种类: 电脑主机组成 主板.CPU.内存.硬盘.显卡.声卡等等. 运维关注三大部件:CPU.内存.硬盘(Disk) 电源,考虑使用双电服务器,电源 ...
- 一起写框架-Ioc内核容器的实现-基础API的定义(三)
Ioc内核要解决的问题 1.被调用方,在程序启动时就要创建好对象,放在一个容器里面. 2.调用方使用一个接口或类的引用(不用使用new),就可以创建获得对象. 解决这个两个问题的思路 1.定义一个对象 ...
- Python+selenium打开网页
东西都安装好了,是不是都迫不及待的想要运行一个程序呢? 不过不幸的是,在正式编程打开网页之前,我们还需要做一件事:下载驱动. 据说,在很久之前的selenium1和2中,驱动是被内嵌在selenium ...
- 1045-access denied for user 'root'@
在用sqlyog图形界面远程登录阿里云mysql数据库的时候出现了如下的问题, 1045-access denied for user 'root'@ 刚开始以为阿里云esc的安全组并没有配置3306 ...
- chrony软件使用说明
1.1.1 chrony简介 Chrony是一个开源的自由软件,它能保持系统时钟与时钟服务器(NTP)同步,让时间保持精确. 它由两个程序组成:chronyd和chronyc. chronyd是一个后 ...
- Servlet编程实例1
编程目的:使用JSP+servlet,来实现一个登陆页面,登陆成功则提示成功,登陆失败则提示失败. 编程要求:登陆页面由login.jsp负责显示,登陆成功由success.jsp负责显示,登陆失败由 ...
- [转载] NodeJS无所不能:细数十个令人惊讶的NodeJS开源项目
转载自http://www.searchsoa.com.cn/showcontent_79099.htm 在几年的时间里,Node.JS逐渐发展成一个成熟的开发平台,吸引了许多开发者.有许多大型高流量 ...
- Python之numpy模块array简短学习
1.简介 Python的lists是非常的灵活以及易于使用.但是在处理科学计算相关大数量的时候,有点显得捉襟见肘了. Numpy提供一个强大的N维数组对象(ndarray),包含一些列同类型的元素,这 ...
- pattern
A compiled representation of a regular expression. A regular expression, specified as a string, must ...