游戏平台网站开发宁波高端网站建设

news/2025/9/30 7:00:19/文章来源:
游戏平台网站开发,宁波高端网站建设,wordpress 收费 主题,网站关键字优化技巧作者 | 阿丸笔记责编 | 徐威龙封图| CSDN 下载于视觉中国在网上看过很多HBaes架构相关的文章#xff0c;内容深浅不一#xff0c;直到发现了一篇MapR官网的文章#xff0c;写得实在太生动了。https://mapr.com/blog/in-depth-look-hbase-architecture/#.VdMxvWSqqko#xf… 作者 | 阿丸笔记 责编 | 徐威龙封图| CSDN 下载于视觉中国在网上看过很多HBaes架构相关的文章内容深浅不一直到发现了一篇MapR官网的文章写得实在太生动了。https://mapr.com/blog/in-depth-look-hbase-architecture/#.VdMxvWSqqko因此以这篇文章作为骨架翻译了许多原文的内容同时对一些细节进行自己的扩展形成本文。HBase架构组成从物理结构上HBase包含了三种类型的serverzookeeper、HMaster、region server采用一种主从模式的结构。region server主要用来服务读和写操作。当用户通过client访问数据时client会和HBase RegionServer 进行直接通信。HMaster主要进行region server的管理、DDL创建、删除表操作等。Zookeeper是HDFSHadoop Distributed File System的一部分主要用来维持整个集群的存活保障了HA故障自动转移。而底层的存储还是依赖于HDFS的。Hadoop的DataNode存储了Region Server所管理的数据所有HBase的数据都是存在HDFS中的。Hadoop的NameNode维护了所有物理数据块的metadata。1.1 region serverHBase 的tables根据rowkey的范围进行水平切分切分后分配到各个regions。一个region包含一个表在start key和end key所有行。region会被分配到集群中的各个region server而用户都是跟region server进行读写交互。一个region一般建议大小在5-10G。1.2 HBase HMaster一般也叫作HMasterHMaster主要职责包括两个方面与region server的交互对region server进行统一管理启动时region的分配、崩溃后恢复的region重新分配、负载均衡的region重新分配Admin相关功能创建、删除、更新表结构等DDL操作1.3 ZookeeperHBase使用Zookeeper作为分布式协调服务来维护集群内的server状态。Zookeeper通过 heartbeat 维护了哪些server是存活并可用的并提供server的故障通知。同时使用一致性协议来保证各个分布式节点的一致性。这里需要特别关注zookeeper负责来HMaster的选举工作如果一个HMater节点宕机了就会选择另一个HMaster节点进入active状态。1.4 这些组件如何一起协调工作Zookeeper用来共享分布式系统中成员的状态它会和region server、HMasteractive保持会话通过heartbeat维持与这些ephemeral nodezk中的临时节点概念的活跃会话。下面我们可以看到zk在其中起到了最核心的作用。多个HMaster会去竞争成为zookeeper上的临时节点而zookeeper会将第一个创建成功的HMaster作为唯一当前active的HMaster其他HMater进入stand by的状态。这个active的HMaster会不断发送heartbeat给zk其他stand by状态的HMaster节点会监听这个active HMaster的故障信息。一旦发现active HMaster宕机了就会重新竞争新的active HMaster。这就实现了HMaster的高可用。每个region server会创建一个ephemeral node。HMaster会监视这些节点来确认哪些region server是可用的哪些节点发生了故障宕机了。如果一个region server或者active的HMaster 没有发送heatbeat给zk那么和zk之间的会话将会过期并且zk上会删掉这个临时节点认为这个节点发生故障需要下线了。其他监听者节点会收到这个故障节点被删除的消息。比如actvie的HMaster会监听region server的消息如果发现某个region server下线了那么就会重新分配region server来恢复相应的region数据。再比如stand by的HMaster节点会监听active 的HMaster节点一旦收到故障通知就会竞争上线成为新的active HMaster。1.5 第一次访问HBase有一个特殊的HBase目录表叫做META table保存了集群中各个region的位置。zookeeper中保存了这个meta table 的位置信息。当我们第一次访问HBase集群时会做以下操作1客户端从zk中获取保存meta table的位置信息知道meta table保存在了哪个region server并在客户端缓存这个位置信息2client会查询这个保存meta table的特定的region server查询meta table信息在table中获取自己想要访问的row key所在的region在哪个region server上。3客户端直接访问目标region server获取对应的row进一步我们了解一下meta table的存储结构。Meta table保存了所有region信息的一张表Meta table存储的数据形式类似一颗b树以keyvalue形式保存数据Key: region的table name, start key等信息 Values: region server的相关信息深入region server一个region server运行在一个HDFS的data node上并且拥有以下组件WAL全称Write Ahead Log 属于分布式系统上的文件。主要用来存储还未被持久化到磁盘的新数据。如果新数据还未持久化节点发生宕机那么就可以用WAL来恢复这些数据。BlockCache是一个读缓存。它存储了被高频访问的数据。当这个缓存满了后会清除最近最少访问的数据。MenStore: 是一个写缓存。它存储了还未被写入磁盘的数据。它会在写入磁盘前对自身数据进行排序从而保证数据的顺序写入。每个region的每个colum family会有一份对应的memstore。没错如果节点宕机了存在这个缓存里的数据没有落盘可以通过WAL保证这些数据不会丢失HFiles按照字典序存储各个row的键值。2.1 HBase写数据与region server的交互整个写的过程更加复杂而与region server的交互式最重要的一部分这里只介绍跟region server的交互。主要分为两个步骤写WAL 和 写缓存。“实际上这里除了保证数据不丢还跟提高写入效率有关具体后续专门写一个相关文档进行展开说明”1写WAL当客户端提交了一个put 请求那么在region server上需要首先写WAL(write-ahead-log)。需要注意三点Hlog是一个region server上一个并不是一个region一个写入数据是添加在log尾部log上的数据主要为了保证没有落盘的数据能在server崩溃后不丢失2写缓存数据写入WAL成功才会继续写入MemStore。然后才会返回ack给客户端表示写入成功了。2.2 HBase MemStroeMemStore主要保存数据更新在内存中以字典序的KeyValue形式跟HFile里面保存的一样。每一个column family会有一个对应的memstore更新的数据会在memstore中以key-value形式排好序存储注意看图按字典序排同时按version的倒序排列。我们可以看到key的组成包括rowkey-cf-col-version。2.3 HBase region flush当MemStore存储了足够多的数据整个有序集会被写入一个新的HFile文件中保存在HDFS。HBase中每个colum family会有多个HFile用来存储实际的keyValue。注意这里解释了为什么HBase中columfaily的数量是有限制的具体是多少。每一个cf有一个对应的MemStore当一个MemStore满了所属region的所有memstore都会被flush到磁盘。所以MemStore的flush的最小单位是一个region而不是一个MemStore。flush的同时它还会存储一些额外的信息比如最后一个写的序列号让系统知道它当前持久化到什么位置了。最大的序列号作为元数据会被存储在每个HFile中表示持久化到哪个位置了下一次持久化应该从哪里继续。一个region启动时会读取每个HFile的序列号然后最大的序列号会被用来作为新的起始序列号。深入HFile3.1 HFile的写入HBase中数据以有序KV的形式存储在HFile中。当MemStore存储了足够的数据全部kv对被写入HFile存入HDFS。这里写文件的过程是顺序写避免了硬盘大量移动磁头的过程比随机写高效很多。HFile的逻辑结构如图主要分为四个部分Scanned block pNon-scanned block pOpening-time data p和Trailer。Scanned block p表示扫描HFile时这部分所有数据块都会被读取包括Leaf Index Block和Bloom Block。Non-scanned block p表示在扫描HFile时不会被读取主要包括Meta Block和Intermediate Level Data Index Blocks两部分。Load-on-open-p表示在HBase的region server启动时会被加载到内存中。包括FileInfo、Bloom filter block、data block index和meta block index。Trailer表示HFile的基本信息、各个部分的偏移值和寻址信息。文件中采用类似b树都多层索引Kv对按递增顺序存储Root index指向非叶子结点每个数据块的最后一个key被放入中间索引(b树的非叶子结点)每个数据块有自己的叶子索引b树的叶子结点叶子索引通过row key指向64kb的kv数据块文件的末尾有个trailer节点指向了meta block。trailer节点还拥有其他信息比如布隆过滤器和时间范围信息。布隆过滤器帮助我们过滤那些不包含在这个HFilfe中的rowkey。时间范围信息用来跳过那些不在这个HFilie时间范围内的row。因此当一个HFile被读取后HFile的索引信息就会被缓存在BlockCache中这样使得查询只需要一次磁盘查询操作后续查找只需要读取blockcache内的索引信息即可。region server上的实体结构关系如下regionserver : region 1 : n每个region server上有多个region。region : store 1 n每个region里面有多个storestore : memstore 1 : 1。Memstore:Hfile 1:n。推荐阅读2020 年最新版 68 道Redis面试题20000 字干货赶紧收藏起来备用 我最喜欢的云 IDE 推荐 应聘苹果数据科学家你需要知道些什么 最近一个名为 BTCU 的比特币分叉准备用新分叉解决比特币网络的旧问题 Soul App 高管被捕恶意举报导致竞品被下架 2.2版本发布TensorFlow推出开发者技能证书 真香朕在看了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/922554.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小网站搜什么关键词好网页制作格式

人工神经网络文献综述 摘要 人工神经网络(Artificial Neural Networks, ANNs)是由多个简单的、相互连接的处理单元组成的自适应系统,通过调整这些单元之间的连接强度,ANNs能够实现对复杂数据的建模和预测。本文综述了ANNs的基本…

金融投资网站源码棉花数据检验与加工平台

—————————————————————————————————— 一、函数依赖的推理规则: 1、自反律:若Y⊆X⊆U,则X→Y在R上成立。 2、增广律:若X→Y在R上成立,且Z⊆U,则XZ→YZ在R上也成立。 3、传…

做动画人设有哪些网站可以借鉴邯郸信息网平台

『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】25. 图像的平移 平移是物体位置在水平和垂直方向的移动。 像素点 (x,y) 沿 x 轴平移 dx、沿 y 轴平移 dy,可以由以下公式描述: [x~y~1]MAT[xy1],MAT[10dx01dy001]\begin{bmat…

做网站找那些公司如何在阿里云部署网站

第六部分、数据结构树,树存储结构详解 数据结构的树存储结构,常用于存储逻辑关系为 "一对多" 的数据。 树存储结构中,最常用的还是二叉树,本章就二叉树的存储结构、二叉树的前序、中序、后序以及层次遍历、线索二叉树、…

网站优化人员网站名称和备案不一样

一、问题 先用conda指令创建了python3.10的环境,然后在IDEA或Pycharm里添加Python解释器环境报Cannot set up a python SDK的错误, 二、解决方法 发现在默认创建新环境选择Python版本时只能选择:2.7,3.6,3.7&#xff…

莞城仿做网站竞价代运营

文章目录 ps -axj:查看进程ps -aL:查看线程echo $?:查看最近程序的退出码jobs:查看后台运行的线程组fd 任务号:将后台任务提到前台bg 任务号:将暂停的后台程序重启netstat -nltp:查看服务及监听…

滕州市东方建设工程事务有限公司网站中英繁网站源码

执笔 | 姜 姜 编辑 | 古利特 刚刚站上300亿元新台阶&#xff0c;泸州老窖再次传来喜讯。 <<<左右滑动查看更多>>> 4月28日&#xff0c;四川省庆祝“五一”国际劳动节大会在成都召开。泸州老窖股份有限公司工业4.0项目秘书长赵丙坤、泸州老窖酿酒有限责任公…

成都电子商城网站开发核酸检测收费

作者 | 宋慧出品 | CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09;关于数据中台的问题&#xff0c;CSDN 在一年前采访了 Gartner 研究总监孙鑫&#xff0c;采访中&#xff0c;孙鑫提到 数据分析将是改变“游戏规则”的技术、企业的中台需要可组装的架构 。经过一年…

兰州最好的网站建设公司呼和浩特百度seo

IDEA刷新项目&#xff0c;报错[ERROR] Malformed \uxxxx encoding. 现象 1.控制台报错 [ERROR] Malformed \uxxxx encoding.2.项目代码大部分爆红 3.Pom文件不爆红 4.IDEA未能构建Dependencies 尝试清除IDEA缓存无效&#xff0c;重新克隆项目无效&#xff0c;更换低版本mav…

Java 与智慧港口:航运调度与物流枢纽数字化

一、引言 港口是全球贸易的重要枢纽,承担着 货物集散、航运调度、物流中转 的关键作用。随着全球化和电商的快速发展,港口面临 货流量暴增、作业效率不足、调度复杂、安全监管难度大 等挑战。智慧港口的目标是:通过…

自己做报名网站教程品牌网站如何做

1&#xff0c;docker简介 docker主要解决了最初软件开发环境配置的困难&#xff0c;完善了虚拟机部署的资源占用多&#xff0c;启动慢等缺点&#xff0c;保证了一致的运行环境&#xff0c;可以更轻松的维护和扩展。docker在linux容器的基础上进行了进一步的封装&#xff0c;提…

解决方案网站深圳市最新出行政策

java编码转换过程我们总是用一个java类文件和用户进行最直接的交互(输入、输出)&#xff0c;这些交互内容包含的文字可能会包含中文。无论这些java类是与数据库交互&#xff0c;还是与前端页面交互&#xff0c;他们的生命周期总是这样的&#xff1a;1、程序员在操作系统上通过编…

购物网站二级店铺mvc学建筑的网站

原文题目 Authentic versus synthetic: An investigation of the influences of study settings and task configurations on search behaviors 摘要 在信息检索和检索研究中,研究者经常收集用户行为数据来预测任务特征,为用户提供个性化信息提供参考。数据采集方法可能会直接…

网站优化哪家好鹤山市城乡住房建设部网站

heap不属于STL容器的组件&#xff0c;属于幕后角色&#xff0c;是priority_queue的助手priority_queue 允许用户以任何次序将任何元素推入容器内&#xff0c;但是取出的时候需要从优先级最高(也就是数值最高)的元素开始取&#xff0c;这种思想是基于heap的函数实现如果使用list…

网络科技公司名字取名大全seo网站推广计划

1,异常是导致程序bug最直接的原因,异常处理可以让程序员决定,出错时以(蓝屏,代码,报错,提示等)处理. 2,异常级别 初级:语法错误:编译不通过 中级:运行错误,调式来解决 高级:逻辑错误,需要经验,难以排查. 举例c#数组越界class Program{static void Main(string[] args){int[] a…

清除“请允许观看视频”通知页面的完整指南

本文详细介绍了如何移除“请允许观看视频”恶意通知页面,包括使用RKill、Malwarebytes、Zemana等专业工具进行完整系统清理的步骤,帮助用户彻底解决浏览器劫持和广告软件问题。移除“请允许观看视频”通知页面 什么是…

千亿芯片公司被股东“抛弃” ,AI芯片第一股前景几何?

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 3546955410049087近日,AI芯片明星企业寒武纪遭遇重要股东减持的消息引发市场广泛关…

网站用户访问统计关注公众号推广2元一个

1.什么是随机试验&#xff08;random trial&#xff09;&#xff1f; 如果一个试验满足试验可以在相同的条件下重复进行、试验所有可能结果明确可知&#xff08;或者是可知这个范围&#xff09;、每一次试验前会出现哪个结果事先并不确定&#xff0c;那么试验称为随机试验。 …

品牌网站建设费武进做网站的公司

#一、描述 记录第一课时&#xff0c;脚本的创建与使用基本的API #二、学习记录 &#xff08;一&#xff09;创建一个Cube方块 &#xff08;二&#xff09;在cube组件上添加一个脚本&#xff0c;选中cube组件&#xff0c;在屏幕右侧有着cube的组件属性栏&#xff0c;点击AddComp…

大气自适应网站源码池州建设机械网站

项目经理的职责&#xff1a; 1、项目范围的定义 2、项目计划的制定、分解、分配、协调、汇报 3、项目质量控制 4、项目需求变更配置 工作职责&#xff1a; 1、负责产品的研发任务的立项计划及实施&#xff1b; 2、负责收集统计各项资料数据&#xff0c;完成自主研发部…