ZooKeeper与仲裁模式
为了让服务器之间可以通信,服务器间需要一些联系信息。理论上,服务器可以使用多播来发现彼此,但我们想让ZooKeeper集合支持跨多个网
络而不是单个网络,这样就可以支持多个集合的情况。
为了完成这些,我们将要使用以下配置文件:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=./data
clientPort=2181
server.1=127.0.0.1:2222:2223
server.2=127.0.0.1:3333:3334
server.3=127.0.0.1:4444:4445
每一个server.n项指定了编号为n的ZooKeeper服务器使用的地址和端口号。每个server.n项通过冒号分隔为三部分,第一部分为服务器n的IP地址或主机名(hostname),第二部分和第三部分为TCP端口号,分别属于仲裁通信和群首选举。因为我们在同一个机器上运行三个服务器进程,所以我们需要在每一项中使用不同的端口号。通常,我们在不同的服务器上运行每个服务器进程,因此每个服务器项的配置可以使用相同的端口号
我们还需要分别设置data目录,我们可以在命令行中通过以下命令来
操作:
mkdir z1
mkdir z1/data
mkdir z2
mkdir z2/data
mkdir z3
mkdir z3/data
当启动多个服务器时,我们需要知道启动的是哪个服务器。一个服务器通过读取data目录下一个名为myid的问件来获取服务器ID信息。可以通过以下命令来创建这些文件:
echo 1 > z1/data/myid
echo 2 > z2/data/myid
echo 3 > z3/data/myid
当服务器启动时,服务器通过配置配件中的dataDir参数来查找data目录的配置。它通过mydata获得服务器ID,之后使用配置问件中server.n对应的项来设置端口并监听。当在不同的机器上运行ZooKeeper服务器进程时,它们可以使用相同的客户端端口和相同的配置问件。但对于这个例子,在一台服务器上运行,我们需要定义每个服务器的客户端端口。
现在可以启动服务器,让我们从z1开始:
cd z1
$ {PATH_TO_ZK}/bin/zkServer.sh start ./z1.cfg
我们使用zkCli.sh来访问集群:
$ {PATH_TO_ZK}/bin/zkCli.sh -server 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183
注意:简单的负载均衡
客户端以随机顺序连接到连接串中的服务器。这样可以用ZooKeeper
来实现一个简单的负载均衡。不过,客户端无法指定优先选择的服务器来
进行连接。例如,如果我们有5个ZooKeeper服务器的一个集合,其中3个
在美国西海岸,另外两个在美国东海岸,为了确保客户端只连接到本地服
务器上,我们可以使在东海岸客户端的连接串中只出现东海岸的服务器,
在西海岸客户端的连接串中只有西海岸的服务器。
ZooKeeper与仲裁模式的更多相关文章
- Zookeeper 部署Zookeeper仲裁模式集群
部署Zookeeper仲裁模式集群 本例在一台服务器上部署3个zk服务:z1.z2.z3. 1.下载Zookeeper https://zookeeper.apache.org/ 2.解压缩 .tar ...
- 28.zookeeper单机(Standalones模式)和集群搭建笔记
zookeeper单机(Standalones模式)和集群搭建: 前奏: (1).zookeeper也可以在windows下使用,和linux一样可以单机也可以集群,具体就是解压zookeeper-3 ...
- Hyper-v群集的仲裁模式配置依据
1,仲裁配置的原理 节点多数(推荐用于含有奇数个节点的群集) 可以承受的故障节点数为节点数的一半(四舍五入)减去一.例如,七个节点的群集可以承受三个节点出现故障. 节点和磁盘多数(推荐用于含有偶数个节 ...
- Zookeeper实战之嵌入式执行Zookeeper集群模式
非常多使用Zookeeper的情景是须要我们嵌入Zookeeper作为自己的分布式应用系统的一部分来提供分布式服务.此时我们须要通过程序的方式来启动Zookeeper.此时能够通过Zookeeper ...
- zookeeper三种模式安装详解(centos 7+zookeeper-3.4.9)
zookeeper有单机.伪集群.集群三种部署方式,可根据自己实际情况选择合适的部署方式.下边对这三种部署方式逐一进行讲解. 一 单机模式 1.下载 进入要下载的版本的目录,选择.tar.gz文件下载 ...
- linux下面Zookeeper的单机模式(standalone)
1.下载 zk下载地址 http://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 我用的是http://mirrors.tuna.tsinghua.e ...
- 3、zookeeper 集群模式搭建
服务器 1:192.168.1.81 端口:2181.2881.3881 服务器 2:192.168.1.82 端口:2182.2882.3882 服务器 3:192.168.1.83 端口:2 ...
- zookeeper集群模式安装
服务器节点规划: 节点1:192.168.0.103 节点2:192.168.0.104 节点3:192.168.0.105 安装zookeeper,将zookeeper上传到三个服务器,保存在/ho ...
- 【Zookeeper】本地模式安装
安装步骤 上传gz包 通过rz命令,将zookeeper-3.4.10.tar.gz安装包上传到/opt/soft/文件夹下. [root@bigdata111 soft]# rz [root@big ...
随机推荐
- 如何写一个LaTeX类文件,并设计你自己的简历
2017/8/29 20:26:03 原文地址 https://www.sharelatex.com/blog/2011/03/27/how-to-write-a-latex-class-file-a ...
- 21天学通C++_Day6
0.指针&数组 数组是指向其第一个元素的指针,即数组变量就是指针.故可将(*)用于数组,也可将([])用于指针,eg: int MyNums[5] = {0}; int* pNums = My ...
- selenium-java,cookie登陆
方法 public void login(WebDriver WebDriver,String cookie1[],String cookie2[]) throws ParseException{// ...
- 解决form嵌套
自己的尝试功能实现了 但是项目中没有使用: 思路利用ajax:第一个form提交的时候触发第二个需要提交数据的ajax的请求url function checkform(type){ var issu ...
- 让控制台支持 ANSI 转义序列,输出下划线、修改颜色或其他控制
各种操作系统的控制台都支持 ANSI 转义序列(ANSI Escape Code).使用转义序列,可以对控制台进行很多额外的定制,例如修改颜色.修改标题栏,将文字添加下划线等. 当然,.NET 已经帮 ...
- Unicode字符转换成字符串
/*** * Unicode字符转换成字符串 * @param str * Unicode字符 * @return * String * * @author WXW */ public static ...
- 一个查看Cookie的便捷工具——EditThisCookie
Appium正在努力准备中,很快就要和大家见面了- 今天给大家分享一个查看cookies的工具,用fiddler总感觉有点麻烦,还乱七八糟的找不到到底哪个链接是当前网站的cookies: 首先,你用的 ...
- Sprint第一个冲刺(第五天)
一.Sprint介绍 今天我们主要做的是修复乱码,完善项目. 任务进度: 二.Sprint周期 看板: 燃尽图:
- luvit 被忽视的lua 高性能框架(仿nodejs)
备注: luvit 开放模式和nodejs 一样,但是因为生态以及小众语言的问题,使用的人比较少,但是从目前 来看更新速度还是比较快的,但是从现有lua 开发框架来说一般倾向于使 ...
- ecmall类关系图(转)