Zookeeper 集群安装
2017-10-20 17:00
141 查看
负载均衡(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会自动通知调用者重新获取服务器列表
这时就会有一些小麻烦,例如
(1)配置维护的成本变高,因为节点太多
(2)单点故障的风险增加了,因为热点服务的访问量很高,如果这个服务集群内的负载均衡服务出现问题,这个服务将失效
第一个问题,可以通过自己开发程序解决,但只是降低复杂度,并没有实际解决
第二个问题,可以通过双机高可用部署方案,使用另一台nginx负载均衡服务器随时待命,只是成本较高
ZooKeeper安装
下载:zookeeper-3.3.6.tar.gz
解压复制到三个文件夹
修改配置
创建对应文件夹data_default和log_default
创建myid文件 写入对应的服务编号 server.0 对应 0
启动
停止
连接服务
参考:http://blog.csdn.net/lan12334321234/article/details/70049945 http://blog.csdn.net/zhangyu_ad/article/details/68942158
现在使用最多的基于软件的负载均衡是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=5 syncLimit=2 tickTime=2000 dataDir=/home/xupp/zookeeper/zookeeper0/data_default/ dataLogDir=/home/xupp/zookeeper/zookeeper0/log_default/ clientPort=4180 server.0=192.168.20.90:8001:7770 server.1=192.168.20.90:8002:7771 server.2=192.168.20.90:8003:7772
initLimit=5 syncLimit=2 tickTime=2000 dataDir=/home/xupp/zookeeper/zookeeper1/data_default/ dataLogDir=/home/xupp/zookeeper/zookeeper1/log_default/ clientPort=4181 server.0=192.168.20.90:8001:7770 server.1=192.168.20.90:8002:7771 server.2=192.168.20.90:8003:7772
initLimit=5 syncLimit=2 tickTime=2000 dataDir=/home/xupp/zookeeper/zookeeper2/data_default/ dataLogDir=/home/xupp/zookeeper/zookeeper2/log_default/ clientPort=4182 server.0=192.168.20.90:8001:7770 server.1=192.168.20.90:8002:7771 server.2=192.168.20.90:8003:7772
创建对应文件夹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:4180
参考:http://blog.csdn.net/lan12334321234/article/details/70049945 http://blog.csdn.net/zhangyu_ad/article/details/68942158
相关文章推荐
- mac安装zookeeper伪集群
- zookeeper的集群安装
- hadoop系列:zookeeper(1)——zookeeper单点和集群安装
- zookeeper-单机伪集群安装部署
- ZooKeeper集群环境的配置与安装
- 基于外部ZooKeeper的GlusterFS作为分布式文件系统的完全分布式HBase集群安装指南
- zookeeper集群的完全分布式安装
- ZooKeeper此例简单介绍基于docker的zookeeper安装与集群搭建
- zookeeper集群安装-debian
- zookeeper集群安装
- Zookeeper集群安装
- hadoop1.2.1+zookeeper-3.4.5+hbase-0.94.1集群安装
- zookeeper 集群安装(单点与分布式成功安装)摘录
- JMS之——ActiveMQ高可用集群安装、配置(基于ZooKeeper + LevelDB的伪集群)
- kafka集群安装(独立zookeeper集群)
- zookeeper 集群安装(单点与分布式成功安装)摘录
- HBase 分布式安装搭建/独立Zookeeper集群
- ZooKeeper高可用集群的安装及配置
- 分布式服务管理框架-Zookeeper安装与配置(单机、集群)
- 安装zookeeper集群(以三台为例)