好程序员大数据学习路线之zookeeper干货
好程序员大数据学习路线之zookeeper干货,上周学习了zookeeper,一开始感觉不容易理解,后来随着学习的深入,渐渐地明白了很多知识,下面慢慢来介绍zookeeper。
zookeeper是什么???
zookeeper是一个分布式协调服务,就是为用户的分布式应用程序提供协调服务的。
zookeeper是为其他的分布式程序提供服务的
zookeeper本身就是一个分布式程序(只要半数以上节点存活,就能提供服务)
zookeeper的特性:
zookeeper:一个leader,多个follower
全局数据一致性:每个server都保存一份相同的数据,client无论连接那台服务器,都可以得到相同的数据
分布式读写,更新请求转发,由leader实施数据更新的写操作
更新请求按顺序执行,来自同一个client的更新请求会按照其发送的顺序来执行
数据更新的原子性,一次数据要么更新成功,要么失败。
实时性,在一定时间范围内,client能读到最新的数据。
应用场景:
统一命名服务;配置管理;集群管理;共享锁;队列管理;
Zookeeper 作为 Hadoop 项目中的一个子项目,是 Hadoop 集群管理的一个必不可少的模块,它主要用来控制集群中的数据,如它管理 Hadoop 集群中的 NameNode,还有 Hbase 中 Master Election、Server 之间状态同步等。
本文介绍的Zookeeper 的基本知识,以及介绍了几个典型的应用场景。这些都是 Zookeeper 的基本功能,最重要的是 Zoopkeeper 提供了一套很好的分布式集群管理的机制,就是它这种基于层次型的目录树的数据结构,并对树中的节点进行有效管理,从而可以设计出多种多样的分布式的数据管 理模型,而不仅仅局限于上面提到的几个常用应用场景。
选举机制:
1.服务器ID:数据ID(编号)越大在选择算法中的权重越大
2.数据ID:服务器中存放的数据最大ID、值越大说明数据越新,在选举算法种数据越新权重越大。
3.逻辑时钟:即投票的次数,同一投票过程中的逻辑时钟都是相同的。每投完一次票这个数据就会加一然后与接收到的其它服务器返回的投票信息中的数值相比,根据不同的值做出不同的判断。
三大功能:
1.为用户提供数据的注册和查询服务
2.为用户提供数据节点的监听注册服务
3.跟用户之间保持心跳通信以感知用户的状态
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Alluxio使用——Hive篇
1.服务启停 Zookeeper ./zookeeper/bin.zkServer.sh start ./zookeeper/conf/zoo.cfg ./zookeeper/bin.zkServer.sh stop Hadoop ./hadoop/sbin/start-dfs.sh ./hadoop/sbin/stop-dfs.sh Hive ./hive/bin/hive ./hive/bin/hive --service metastore -p 9083 Alluxio ./alluxio/bin/alluxio local SudoMount 2.Alluxio操作 下载测试数据 稳定的基准数据集。1700部电影的1000名用户获得100,000评级。发布于4/1998。 MovieLens 100K电影收视率 稳定的基准数据集。238,000个用户将27,000个评级和465,000个标签应用程序应用于27,000部电影。包括标签基因组数据,在1,100个标签上有1200万个相关性分数。2015年4月发布; 更新10月2016以更新links.csv并添加标签基因组数据。 ...
- 下一篇
好程序员大数据学习路线分享Hadoop阶段的高可用配置
好程序员大数据学习路线分享Hadoop阶段的高可用配置,什么是Hadoop的HA机制Ha机制即Hadoop的高可用(7*24小时不中断服务)正式引入HA机制是从hadoop2.0开始,之前的版本中没有HA机制hadoop-ha严格来说应该分成各个组件的HA机制——HDFS的HA、YARN的HAHDFS的HA机制详解HDFS 的HA主要是通过双namenode协调工作实现双namenode协调工作的要点: A、元数据管理方式需要改变: 内存中各自保存一份元数据 Edits日志只能有一份,只有Active状态的namenode节点可以做写操作 两个namenode都可以读取edits 共享的edits放在一个共享存储中管理(qjournal和NFS两个主流实现) B、需要一个状态管理功能模块 实现了一个zkfailover,常驻在每一个namenode所在的节点 每一个zkfailover负责监控自己所在namenode节点,利用zk进行状态标识 当需要进行状态切换时,由zkfailover来负责切换 切换时需要防止brain split脑裂现象的发生 Namenode的运行原理两台服务器...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7