zookeeper有这样一个特性:集群中只要有过半的机器是正常工作的,那么整个集群对外就是可用的.也就是说如果有2个zookeeper,那么只要有1个死了zookeeper就不能用了,因为1没有过半,所以2个zookeeper的死亡容忍度为0:同理,要是有3个zookeeper,一个死了,还剩下2个正常的,过半了,所以3个zookeeper的容忍度为1:同理你多列举几个:2->0;3->1;4->1;5->2;6->2会发现一个规律,2n和2n-1的容忍度是一样的,都是n-1…
选举机制(FastLeaderElection算法):sid最大且被超过集群中超过半数的机器拥护就会成为leader.所以只有两种情况无法选出leader:整个集群只有2台服务器(注意不是只剩2台,而是集群的总节点数为2)整个集群超过半数机器挂掉. 所谓的偶数问题其实是另一个集群优化配置问题,即:集群的容灾数量=集群总节点数/2-1假如集群有5节点,那么最多允许2个节点挂掉,如果有3节点挂了,那么整个集群的选举结果不会满足条件:集群中超过半数的机器拥护.假如集群有6个节点,那么最多也只能挂掉2台…
单机多节点模式 zookeeper解压, 放到 /opt/zookeeper/ 下, 同目录再放一个 server1目录, 下面建data和log两个目录用于存放数据和日志 zoo.cfg [milton@localhost conf]$ more zoo.cfg # The number of milliseconds of each tick tickTime= # The number of ticks that the initial # synchronization phase ca…
ZooKeeper 组件安装配置 下载和安装 ZooKeeper ZooKeeper最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/ 来获取,安装 ZooKeeper组件需要与 Hadoop环境适配. 注意,各节点的防火墙需要关闭,否则会出现连接问题. ZooKeeper的安装包 zookeeper-3.4.8.tar.gz已放置在 Linux系统/opt/software目录下 解压安装包到指定目标,在 Master节点执行如下命令 [root@m…
Zookeeper+Kafka的单节点配置 环境描述:Ubuntu16.04 server系统,在系统上搭建Java环境,jdk的版本为1.8或更高,我的服务器IP地址为192.168.0.106. 1. 使用命令在根目录下的opt目录下创建data目录. mkdir /opt/data 2. 在Apache官网http://www.apache.org/dyn/closer.cgi/zookeeper/和https://www.apache.org/dyn/closer.cgi?path=/k…
1,准备: A:三台linxu服务器: 10.112.29.177 10.112.29.172 10.112.29.174 命令 hostname 得到每台机器的 hostname vm-10-112-29-177 vm-10-112-29-172 vm-10-112-29-174 分别创建 /opt/zookeeper/server1/data /opt/zookeeper/server1/dataLog /opt/zookeeper/server2/data /opt/zookeeper/s…
  第一步:环境准备 环境 版本 说明 JDK 1.8 zookeeper运行所需 centos 7 操作系统 需要配置好JDK的环境变量 zookeeper-3.4.9.tar.gz 3.4.9 zookeeper部署包   环境准备完毕之后,安装三台centos7的虚拟机,并分配好静态IP. 假设三台虚拟机分配的IP分别为: 10.0.90.52 10.0.90.53 10.0.90.54   配置Jdk环境变量,确保“java -version”命令能够执行成功,Jdk的环境变量配置不在赘…
Kafka的集群配置一般有三种方法,即 (1)Single node – single broker集群: (2)Single node – multiple broker集群:    (3)Multiple node – multiple broker集群. 前两种方法官网上有配置过程((1)(2)配置方法官网教程),下面会简单介绍前两种方法,主要介绍最后一种方法. 准备工作: 1.Kafka的压缩包,这里选用的是kafka_2.10-0.8.2.2.tgz. 2.三台CentOS 6.4 6…
由于需要在windows下面安装zookeeper,故做个整理 1.下载zookeeper http://mirrors.hust.edu.cn/apache/zookeeper/ 2.解压 3.修改配置文件,将conf中的zoo_example.cfg 改为 zoo.cfg 并且修改里面的配置 4.启动 5.遇到的坑 在最开始启动的时候提示:Error: JAVA_HOME is not set.或者Error: JAVA_HOME is incorrectly set. 这都是因为没有安装J…
上一篇(基于zookeeper实现分布式配置中心(一))讲述了zookeeper相关概念和工作原理.接下来根据zookeeper的特性,简单实现一个分布式配置中心. 配置中心的优势 1.各环境配置集中管理. 2.配置更改,实时推送,jvm环境变量及时生效. 3.依靠配置变更,动态扩展功能,减少二次上线带来的成本. 4.减少开发人员.运维人员修改配置带来的额外开销. 配置中心架构图 配置中心功能 1.配置管理平台中,操作人员可以创建项目所属系统.应用名称.实例名称.配置分组等信息. 2.配置管理平…