当前位置: 首页 > news >正文

徽章设计制作网站建网站张掖哪家强?

徽章设计制作网站,建网站张掖哪家强?,上海协会网站建设,微信小程序源代码1.什么是HBase HBase – Hadoop Database#xff0c;是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统#xff0c;利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase利用Hadoop HDFS作为其文件存储系统#xff0c;利用Hadoop MapReduce来处理HBas… 1.什么是HBase HBase – Hadoop Database是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase利用Hadoop HDFS作为其文件存储系统利用Hadoop MapReduce来处理HBase中的海量数据利用Zookeeper作为协调工具。 它介于nosql和RDBMS之间仅能通过主键(row key)和主键的range来检索数据仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。主要用来存储非结构化和半结构化的松散数据。 与hadoop一样Hbase目标主要依靠横向扩展通过不断增加廉价的商用服务器来增加计算和存储能力。   HBase中的表一般有这样的特点 1 大一个表可以有上亿行上百万列 2 面向列:面向列(族)的存储和权限控制列(族)独立检索。 3 稀疏:对于为空(null)的列并不占用存储空间因此表可以设计的非常稀疏。   与传统数据库的对比 1、传统数据库遇到的问题 1数据量很大的时候无法存储 2没有很好的备份机制 3数据达到一定数量开始缓慢很大的话基本无法支撑 2、HBASE优势 1线性扩展随着数据量增多可以通过节点扩展进行支撑 2数据存储在hdfs上备份机制健全 3通过zookeeper协调查找数据访问速度块   hbase集群中的角色 1、一个或者多个主节点HMaster 2、多个从节点HRegionServer   下面一幅图是Hbase在Hadoop Ecosystem中的位置。     2.HBase的原理   Row Key:主键是用来检索记录的。 Column Family:列族列族在创建表的时候声明一个列族可以包含多个列列中的数据都是以二进制形式存在没有数据类型。 Cell:HBase中通过row和columns确定的为一个存贮单元称为cell。每个 cell都保存着同一份数据的多个版本。版本通过时间戳来索引。   一个用户的数据表会被切分成很多的Region然后分别存储到不同的RegionServer上。 而每个RegionServer其实是部署在每个DataNode上面的而且上面的若干个Region其实最终也是存储在HDFS上面的。这些RegionServer通过HMaster进行协调。HMaster不负责存储表数据它负责 1. 管理RegionServer的状态。 2. 负责RegionServer的负载均衡。   HBase的寻址机制 我们真实查询数据表的某一条数据其实先通过Zookeeper找到ROOT表然后根据ROOT表找到META表最终找到用户的数据表是三层查找。   3.以下内容为摘录 参考博客http://jiajun.iteye.com/blog/899632/但是鉴于原文的图片全挂了所以将其关键内容摘录如下 一、逻辑视图 HBase以表的形式存储数据。表有行和列组成。列划分为若干个列族(row family) Row Key  与nosql数据库们一样,row key是用来检索记录的主键。访问hbase table中的行只有三种方式 1 通过单个row key访问 2 通过row key的range 3 全表扫描 Row key行键 (Row key)可以是任意字符串(最大长度是 64KB实际应用中长度一般为 10-100bytes)在hbase内部row key保存为字节数组。 存储时数据按照Row key的字典序(byte order)排序存储。设计key时要充分排序存储这个特性将经常一起读取的行存储放到一起。(位置相关性) 注意 字典序对int排序的结果是1,10,100,11,12,13,14,15,16,17,18,19,2,20,21,…,9,91,92,93,94,95,96,97,98,99。要保持整形的自然序行键必须用0作左填充。 行的一次读写是原子操作 (不论一次读写多少列)。这个设计决策能够使用户很容易的理解程序在对同一个行进行并发更新操作时的行为。   列族 hbase表中的每个列都归属与某个列族。列族是表的schema的一部分(而列不是)必须在使用表之前定义。列名都以列族作为前缀。例如courses:history  courses:math 都属于 courses 这个列族。 访问控制、磁盘和内存的使用统计都是在列族层面进行的。实际应用中列族上的控制权限能 帮助我们管理不同类型的应用我们允许一些应用可以添加新的基本数据、一些应用可以读取基本数据并创建继承的列族、一些应用则只允许浏览数据甚至可能因 为隐私的原因不能浏览所有数据。   时间戳 HBase中通过row和columns确定的为一个存贮单元称为cell。每个 cell都保存着同一份数据的多个版本。版本通过时间戳来索引。时间戳的类型是 64位整型。时间戳可以由hbase(在数据写入时自动 )赋值此时时间戳是精确到毫秒的当前系统时间。时间戳也可以由客户显式赋值。如果应用程序要避免数据版本冲突就必须自己生成具有唯一性的时间戳。每个 cell中不同版本的数据按照时间倒序排序即最新的数据排在最前面。 为了避免数据存在过多版本造成的的管理 (包括存贮和索引)负担hbase提供了两种数据版本回收方式。一是保存数据的最后n个版本二是保存最近一段时间内的版本比如最近七天。用户可以针对每个列族进行设置。   Cell 由{row key, column( family label), version} 唯一确定的单元。cell中的数据是没有类型的全部是字节码形式存贮。   二、物理存储 1 已经提到过Table中的所有行都按照row key的字典序排列。 2 Table 在行的方向上分割为多个Hregion。   3 region按大小分割的每个表一开始只有一个region随着数据不断插入表region不断增大当增大到一个阀值的时候Hregion就会等分会两个新的Hregion。当table中的行不断增多就会有越来越多的Hregion。   4 Hregion是Hbase中分布式存储和负载均衡的最小单元。最小单元就表示不同的Hregion可以分布在不同的HRegion server上。但一个Hregion是不会拆分到多个server上的。   5 HRegion虽然是分布式存储的最小单元但并不是存储的最小单元。 事实上HRegion由一个或者多个Store组成每个store保存一个columns family。 每个Strore又由一个memStore和0至多个StoreFile组成。如图 StoreFile以HFile格式保存在HDFS上。   HFile的格式为   Trailer部分的格式:   HFile分为六个部分 Data Block 段–保存表中的数据这部分可以被压缩 Meta Block 段 (可选的)–保存用户自定义的kv对可以被压缩。 File Info 段–Hfile的元信息不被压缩用户也可以在这一部分添加自己的元信息。 Data Block Index 段–Data Block的索引。每条索引的key是被索引的block的第一条记录的key。 Meta Block Index段 (可选的)–Meta Block的索引。 Trailer–这一段是定长的。保存了每一段的偏移量读取一个HFile时会首先 读取TrailerTrailer保存了每个段的起始位置(段的Magic Number用来做安全check)然后DataBlock Index会被读取到内存中这样当检索某个key时不需要扫描整个HFile而只需从内存中找到key所在的block通过一次磁盘io将整个 block读取到内存中再找到需要的key。DataBlock Index采用LRU机制淘汰。 HFile的Data BlockMeta Block通常采用压缩方式存储压缩之后可以大大减少网络IO和磁盘IO随之而来的开销当然是需要花费cpu进行压缩和解压缩。 目标Hfile的压缩支持两种方式GzipLzo。   HLog(WAL log) WAL 意为Write ahead log(http://en.wikipedia.org/wiki/Write-ahead_logging)类似mysql中的binlog,用来 做灾难恢复只用Hlog记录数据的所有变更,一旦数据修改就可以从log中进行恢复。 每个Region Server维护一个Hlog,而不是每个Region一个。这样不同region(来自不同table)的日志会混在一起这样做的目的是不断追加单个 文件相对于同时写多个文件而言可以减少磁盘寻址次数因此可以提高对table的写性能。带来的麻烦是如果一台region server下线为了恢复其上的region需要将region server上的log进行拆分然后分发到其它region server上进行恢复。 HLog文件就是一个普通的Hadoop Sequence FileSequence File 的Key是HLogKey对象HLogKey中记录了写入数据的归属信息除了table和region名字外同时还包括 sequence number和timestamptimestamp是”写入时间”sequence number的起始值为0或者是最近一次存入文件系统中sequence number。HLog Sequece File的Value是HBase的KeyValue对象即对应HFile中的KeyValue可参见上文描述。 三、系统架构     Client 1 包含访问hbase的接口client维护着一些cache来加快对hbase的访问比如regione的位置信息。   Zookeeper 1 保证任何时候集群中只有一个master 2 存贮所有Region的寻址入口。 3 实时监控Region Server的状态将Region server的上线和下线信息实时通知给Master 4 存储Hbase的schema,包括有哪些table每个table有哪些column family   Master 1 为Region server分配region 2 负责region server的负载均衡 3 发现失效的region server并重新分配其上的region 4 GFS上的垃圾文件回收 5 处理schema更新请求   Region Server 1 Region server维护Master分配给它的region处理对这些region的IO请求 2 Region server负责切分在运行过程中变得过大的region 可以看到client访问hbase上数据的过程并不需要master参与寻址访问zookeeper和region server数据读写访问regione servermaster仅仅维护者table和region的元数据信息负载很低。 四、流程 region定位 系统如何找到某个row key (或者某个 row key range)所在的region bigtable 使用三层类似B树的结构来保存region位置。 第一层是保存zookeeper里面的文件它持有root region的位置。 第二层root region是.META.表的第一个region其中保存了.META.z表其它region的位置。通过root region我们就可以访问.META.表的数据。 .META.是第三层它是一个特殊的表保存了hbase中所有数据表的region 位置信息。   说明 1 root region永远不会被split保证了最需要三次跳转就能定位到任意region 。 2.META.表每行保存一个region的位置信息row key 采用表名表的最后一样编码而成。 3 为了加快访问.META.表的全部region都保存在内存中。 假设.META.表的一行在内存中大约占用1KB。并且每个region限制为128MB。 那么上面的三层结构可以保存的region数目为 (128MB/1KB) * (128MB/1KB) 2(34)个region 4 client会将查询过的位置信息保存缓存起来缓存不会主动失效因此如果client上的缓存全部失效则需要进行6次网络来回才能定位到正确的region(其中三次用来发现缓存失效另外三次用来获取位置信息)。   读写过程 上文提到hbase使用MemStore和StoreFile存储对表的更新。 数据在更新时首先写入Log(WAL log)和内存(MemStore)中MemStore中的数据是排序的当MemStore累计到一定阈值时就会创建一个新的MemStore并 且将老的MemStore添加到flush队列由单独的线程flush到磁盘上成为一个StoreFile。于此同时系统会在zookeeper中 记录一个redo point表示这个时刻之前的变更已经持久化了。(minor compact) 当系统出现意外时可能导致内存(MemStore)中的数据丢失此时使用Log(WAL log)来恢复checkpoint之后的数据。 前面提到过StoreFile是只读的一旦创建后就不可以再修改。因此Hbase的更 新其实是不断追加的操作。当一个Store中的StoreFile达到一定的阈值后就会进行一次合并(major compact),将对同一个key的修改合并到一起形成一个大的StoreFile当StoreFile的大小达到一定阈值后又会对 StoreFile进行split等分为两个StoreFile。 由于对表的更新是不断追加的处理读请求时需要访问Store中全部的 StoreFile和MemStore将他们的按照row key进行合并由于StoreFile和MemStore都是经过排序的并且StoreFile带有内存中索引合并的过程还是比较快。 写请求处理过程   1 client向region server提交写请求 2 region server找到目标region 3 region检查数据是否与schema一致 4 如果客户端没有指定版本则获取当前系统时间作为数据版本 5 将更新写入WAL log 6 将更新写入Memstore 7 判断Memstore的是否需要flush为Store文件。   region分配 任何时刻一个region只能分配给一个region server。master记录了当前有哪些可用的region server。以及当前哪些region分配给了哪些region server哪些region还没有分配。当存在未分配的region并且有一个region server上有可用空间时master就给这个region server发送一个装载请求把region分配给这个region server。region server得到请求后就开始对此region提供服务。   region server上线 master使用zookeeper来跟踪region server状态。当某个region server启动时会首先在zookeeper上的server目录下建立代表自己的文件并获得该文件的独占锁。由于master订阅了server 目录上的变更消息当server目录下的文件出现新增或删除操作时master可以得到来自zookeeper的实时通知。因此一旦region server上线master能马上得到消息。   region server下线 当region server下线时它和zookeeper的会话断开zookeeper而自动释放代表这台server的文件上的独占锁。而master不断轮询 server目录下文件的锁状态。如果master发现某个region server丢失了它自己的独占锁(或者master连续几次和region server通信都无法成功),master就是尝试去获取代表这个region server的读写锁一旦获取成功就可以确定 1 region server和zookeeper之间的网络断开了。 2 region server挂了。 的其中一种情况发生了无论哪种情况region server都无法继续为它的region提供服务了此时master会删除server目录下代表这台region server的文件并将这台region server的region分配给其它还活着的同志。 如果网络短暂出现问题导致region server丢失了它的锁那么region server重新连接到zookeeper之后只要代表它的文件还在它就会不断尝试获取这个文件上的锁一旦获取到了就可以继续提供服务。   master上线 master启动进行以下步骤: 1 从zookeeper上获取唯一一个代码master的锁用来阻止其它master成为master。 2 扫描zookeeper上的server目录获得当前可用的region server列表。 3 和2中的每个region server通信获得当前已分配的region和region server的对应关系。 4 扫描.META.region的集合计算得到当前还未分配的region将他们放入待分配region列表。   master下线 由于master只维护表和region的元数据而不参与表数据IO的过 程master下线仅导致所有元数据的修改被冻结(无法创建删除表无法修改表的schema无法进行region的负载均衡无法处理region 上下线无法进行region的合并唯一例外的是region的split可以正常进行因为只有region server参与)表的数据读写还可以正常进行。因此master下线短时间内对整个hbase集群没有影响。从上线过程可以看到master保存的 信息全是可以冗余信息都可以从系统其它地方收集到或者计算出来因此一般hbase集群中总是有一个master在提供服务还有一个以上 的’master’在等待时机抢占它的位置。   补充 HBase强一致性解读 转载于:https://www.cnblogs.com/DarrenChan/p/6574953.html
http://www.zqtcl.cn/news/935869/

相关文章:

  • ip138查询网站网址域名ip网站外包制作
  • 网站建设需求怎么写网站seo快速排名优化
  • 网站后台文章添加成功 不显示注册安全工程师是干什么的
  • 网页制作网站建设百度网站推广费用多少钱
  • 长沙网站建设软件wordpress加菜单
  • 网站建设教育板块wordpress $pagenow
  • 岳阳手机网站建设自己可以给公司做网站吗
  • 旅游网站建设目的关于建设网站的需求分析
  • 手机可以建立网站吗自己造网站
  • 厦门建网站哪家好手机编程网站
  • 网站搭建后台奥门网站建设
  • 电子商务网站免费模板展示型网站与营销型网站
  • 除了红动中国还有哪些设计网站宁波建网站哪家
  • 网站的建设费用预算策划书wdcp网站备份
  • 济南制作公司网站网站设计的实例
  • 网站建设需要的文案一个网站的后台怎么做
  • 电影网站建设模板营销方式都有哪些
  • 书店商城网站建设方案未央免费做网站
  • 北京房产网北京二手房企业网站seo方案案例
  • 大连品牌官网建站二级建造师最好的网站
  • python开发工具搜索引擎优化的英语简称
  • 做产品代理上哪个网站好东莞公司网上推广
  • 专业制作网站公司上海广告公司联系方式
  • 古交市网站建设公司四川省建设厅电子政务网站
  • 清河网站建设费用50万做网站
  • 怎么找网站的根目录平台类网站营销方案
  • 网站关键词 价格生成山西建设工程备案网站
  • 网站开发入哪个会计科目设计师自己的网站
  • php做网站界面代码定制网页设计报价
  • 重庆智能模板建站wordpress+widget+开发