Zookeeper的概述、安装部署及选举机制
一、Zookeeper概述
1.Zookeeper是Hadoop生态的管理者,它致力于开发和维护开源服务器,实现高度可靠的分布式协调。
2.Zookeeper的两大功能:
(1)存储数据
(2)监听
3.Zookeeper的工作机制,如图:
4.Zookeeper存储结构,以树状结构存储
5.Zookeeper的应用场景
(1)集群统一的配置、命名管理
比如搭建hdfs集群时,修改完配置文件要将文件发送到其他机器中,
zookeeper可以快速的将配置文件发送到所有机器;
再比如百度的域名:www.baidu.com,这个域名其实对应了许多服务器,
zookeeper的一个目录结构命名为baidu,其子节点对应了很多服务器,zookeeper直接分配ip即可。
(2)服务器的动态上下线感知
比如qq好友上下线时的提示音
(3)负载均衡
可以使每个服务器的访问量大致相同
二、Zookeeper集群的安装部署
1.登陆官网下载安装包(本人使用的是3.4.10),上传到linex集群并解压;
zookeeper.apache.org
tar -zxvf zookeeper-3.4.10.tar.gz
2.进入zookeeper/conf下,重命名zoo-sample.cfg为zoo.cfg
进入zoo.cfg文件,修改配置信息:
dataDir=/root/hd/zookeeper-3.4.10/zkData
################cluster#####################
server.1=hd1-1:2888:3888
server.2=hd1-2:2888:3888
server.3=hd1-3:2888:3888
保存并退出;
3.回到zookeepr目录下,创建zkData文件夹,进入该文件夹创建文件myid
编辑文件myid,内容为1;
4.将配置好的zookeeper文件夹发送他集群其他机器
scp -r /root/hd/zookeeper/ hd1-2:/root/hd/
5.修改环境变量(略),并将修改好的环境变量发送到其他机器,并生效!!
6.启动Zookeeper、关闭Zookeeper、查看状态
zkServer.sh start
zkServer.sh stop
zkServer.sh status
三、Zookeeper的选举机制
描述:
1.当第一台机器启动时它会给自己一票、第二台启动时前两台机器都会给第二台机器一票,以此类推;
2.当第n台机器的票数等于zk集群节点数x的x+1/2时,第n台机器会成为集群的leader;
3.在启动集群时若机器同时启动且票数一样,则会默认选中myid大的机器作为leader。
4.企业中zookeeper集群的节点数为基数台!且zookeeper集群只要有一半以上的节点存活即可正常工作。
Zookeeper的概述、安装部署及选举机制的更多相关文章
- Zookeeper介绍及安装部署
本节内容: Zookeeper介绍 Zookeeper特点 Zookeeper应用场景 用到了Zookeeper的一些系统 Zookeeper集群安装部署 一.Zookeeper介绍 是一个针对大型分 ...
- (转)ZooKeeper 笔记(1) 安装部署及hello world
ZooKeeper 笔记(1) 安装部署及hello world 先给一堆学习文档,方便以后查看 官网文档地址大全: OverView(概述) http://zookeeper.apache.or ...
- 161209、简要分析ZooKeeper基本原理及安装部署
一.ZooKeeper 基本概念 1.ZooKeeper 是什么? Zookeeper官网地址: http://zookeeper.apache.org/ Zookeeper官网文档地址:http:/ ...
- ZooKeeper 笔记(1) 安装部署及hello world
先给一堆学习文档,方便以后查看 官网文档地址大全: OverView(概述) http://zookeeper.apache.org/doc/r3.4.6/zookeeperOver.html Get ...
- zookeeper与kafka安装部署及java环境搭建(发布订阅模式)
1. ZooKeeper安装部署 本文在一台机器上模拟3个zk server的集群安装. 1.1. 创建目录.解压 cd /usr/ #创建项目目录 mkdir zookeeper cd zookee ...
- centos7下zookeeper集群安装部署
应用场景:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件. 它是一个为分布式应用提供一致性服务的软 ...
- Zookeeper——Docker下安装部署
单节点安装 一. 环境说明 docker: 18.09.9-ce zookeeper: 3.5.6 二. 拉取 zookeeper 镜像 拉取镜像 docker pull zookeeper 默认是摘 ...
- 【Hadoop 分布式部署 九:分布式协作框架Zookeeper架构 分布式安装部署 】
1.首先将运行在本地上的 zookeeper 给停止掉 2.到/opt/softwares 目录下 将 zookeeper解压到 /opt/app 目录下 命令: tar -zxvf zoo ...
- Storm介绍及安装部署
本节内容: Apache Storm是什么 Apache Storm核心概念 Storm原理架构 Storm集群安装部署 启动storm ui.Nimbus和Supervisor 一.Apache S ...
随机推荐
- 关于STM32 __IO 的变量定义
这个_IO 是指静态 这个 _IO 是指静态 volatile uint32_t 是指32位的无符号整形变量uint32_t 是指32位的无符号整形变量: 搞stm32这么久了,经常看到stm32里面 ...
- Oracle Blob查询和插入
注:本文来源于<Oracle Blob查询和插入> 插入 UPDATE cmm05 SET OUTFILE = to_blob('12345690'): 查询: SELECT utl_ra ...
- vue的单选框
- 【linux】复制文件夹中文件,排除部分文件
如下 cp `ls|grep -v -E '*json|out'|xargs` /home/data/ 用grep -v 表示排除, -E 表示正则 ls|grep -v -E '*json|out ...
- Dig skipfish proxystrike
1.DNS域名信息收集,(Dig,挖掘局域网的信息之前的博客中已经做过介绍) 查询需要认证的域名服务器 dig -t ns + 网址 使用工具 fierce 判断主机上存活的其他域名服务器 ...
- 20165314 2016-2017-2 《Java程序设计》第7周学习总结
20165314 2016-2017-2 <Java程序设计>第7周学习总结 教材学习内容总结 MySQL数据库管理系统 连接MySQL数据库 JDBC 批处理 代码托管
- AI学习吧-结算中心
结算中心流程 在结算中心中,主要是对用户添加到购物车商品的结算,由于用户可能添加了多个课程,但是,结算时会选择性的进行支付.在结算时会选中课程id,和对应的价格策略.在后台,首先会对用户进行校验,验证 ...
- Lua中assert( )函数的使用
当Lua遇到不期望的情况时就会抛出错误,比如:两个非数字进行相加:调用一个非函数的变量:访问表中不存在的值等.你也可以通过调用error函数显示的抛出错误,error的参数是要抛出的错误信息. ass ...
- Scrapy 框架 安装
Scrapy 框架 Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页 ...
- tjoi2018
1.[TJOI2018]数学计算 傻逼题 会发现符合线段树分治的特点 每个数的操作范围都是连续的 然后就等于区间修改了 #include <bits/stdc++.h> using nam ...