首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

HBase实践 | HBase IO优化与可用建设

而从另一个角度来看,目前很多线上业务其实对数据的强一致性要求并不严苛,数据写入成功后不要求立刻可见,只要能够在一定的时间buffer之后访问到数据即可,但是对服务的可用性要求非常,对服务的响应时延要求非常敏感...另一方面,通过对hbase业务接入场景的了解,发现很多业务在接入hbase的时候都是先将数据写入到kafka,在通过实时流计算消费把kafka中的数据转存到hbase,以起到流量消峰的作用,而如果我们能够把业务原始数据与...基于此我们考虑将hbase的整体写链路做一下相应的调整,客户端不在直连hbase进行写入,而是先记录WAL到kafka,再通过实时流计算消费,把kafka中的WAL数据同步到hbase集群。 ?...另外客户端视角的写容错时间也只跟kafka的故障恢复时间有关,而不受到hbase长时间MTTR过程的影响。...这样不同的集群可开启不同的流计算作业去消费kafka中的WAL以便将数据同步到自己的hbase集群,而hbase的机房容灾功能也可转嫁到kafka的数据容灾处理上。

1.5K30
您找到你想要的搜索结果了吗?
是的
没有找到

HBase可用集群运维实践

随着越来越多的业务选择HBase作为存储引擎,对HBase的可用性要求也越来越高,对于HBase的运维也提出了新的挑战。...由于存在这个原因和业务的压力,往往只能采用拆分集群的方式,在一个HDFS 上往往运行几个HBase集群,但是带来的是运维成本的增加。 ?...今年618之前,在我们决定采用新版本之后,我们将HBase 2.0 尚未发布的rsgroup功能迁移到我们的自己维护的1.1.X版本中,从而实现在HBase集群上隔离和控制。整个架构如下: ?...目前集群的数据,除了用户普通的写入之外,还有采用bulkload的方式入库,不同用户在不同的集市生成HFile导入到HBase中。...唯一的遗憾是当前HBase的quotas 只能限制单台的ReginServe。目前配额管理功能在开发集成自动化配置流程当中,预计年后上线。

1.4K50

2021年大数据HBase(六):HBase可用!【建议收藏】

HBase可用 考虑关于HBase集群的一个问题,在当前的HBase集群中,只有一个Master,一旦Master出现故障,将会导致HBase不再可用。...所以,在实际的生产环境中,是非常有必要搭建一个可用的HBase集群的。 一、HBASE可用的简介 HBase可用配置其实就是HMaster的可用。...要搭建HBase可用,只需要再选择一个节点作为 HMaster,在HBase的conf目录下创建文件backup-masters,然后再backup-masters添加备份Master的记录。...一条记录代表一个backup master,可以在文件配置多个记录 二、搭建HBase可用 1、 在hbase的conf文件夹中创建 backup-masters 文件 cd /export/server...backup节点出现即可 stop-hbase.sh start-hbase.sh 注意: 启动hbase的时候, 一定要确认 zookeeper 和 hadoop是启动良好的     额外: 单独启动节点

1.7K20

HBase学习—表与宽表的选择

utm_content=m_31236 hbase中的宽表是指很多列较少行,即列多行少的表,一行中的数据量较大,行数少;表是指很多行较少列,即行多列少,一行中的数据量较少,行数大。...hbase的row key是分布式的索引,也是分片的依据。...据此,在HBase中使用宽表、表的优劣总结如下: 查询性能:表更好,因为查询条件都在row key中, 是全局分布式索引的一部分。表一行中的数据较少。...分片能力:表分片粒度更细,各个分片的大小更均衡。因为表一行的数据较少,宽表一行的数据较多。HBase按行来分片。 元数据开销:表元数据开销更大。...而且解压缩可以通过协处理器(coproesssor)在HBase服务器上做,而不是在业务应用的服务器上做,以充分应用HBase集群的CPU能力。

2.3K50

HBase单机实现主主复制(可用方案)

概述 HBase本身是一个没有单点故障的分布式系统,上层(HBase层)和底层(HDFS层)都通过一定的技术手段保障了服务的可用性,HMaster一般都是可用部署,如果集群中RegionServer宕机...HBase可用能保证在出现异常时,快速的进行故障转移,为了使故障的时间尽可能的短,我们使用HBase的主主复制方案(Master-Master Replication),本方案中主备数据复制方式为Master-push...版本:1.2.6 HBase配置修改: 在hbase-site.xml中增加如下配置,用来开启HBase复制功能:     hbase.replication</name.../hbase shell 创建表: hbase(main):001:0> create 'test', 'cf' 添加复制对端ip,根据情况输入,用来实现互相同步: hbase(main):001:0>...,并进行主备复制(主要测试数据同步和索引数据同步): 使用Phoenix插件作为客户端连接HBase服务,将HBase中配置文件hbase-site.xml拷贝到Phoenix中,启动执行apache-phoenix

57810

如何解决网页的宽适应问题

但在这过程中出现了一系列问题,比如:如何用盒子模型布局;如何用html和css实现轮播图的效果等;值得我们关注的是很多同学遇到了一个相同的问题,当我们的静态网页在其他PC端显示时,会出现排版混乱等情况,那么该如何解决宽适应的问题呢...3 解决方案 自适应布局分两类:高度和宽度 a....高度自适应布局 高度自适应的原理就是把每个模块设置为绝对定位,再设置中间自适应的模块的top和bottom属性的值分别为头部模块和底部模块的,这样一来就实现了自适应。...用绝对定位来设置宽度自适应布局,原理:针对自适应模块使用绝对定位,在把left和right设置为左右两列的宽,其实原理和高度自适应一样,另外左右两列分别左右浮动。 html代码: ?...注意:使用这个方法布局自适应的话,必须把自适应的那一列在html中放在left和right后面。 html代码: ? css代码: ?

2.4K00

Hbase入门篇03---Java API使用,HBase可用配置和架构设计

Hbase入门篇03---Java API使用,HBase可用配置和架构设计 需求 某某自来水公司,需要存储大量的缴费明细数据。以下截取了缴费明细的一部分内容。...可用 考虑关于HBase集群的一个问题,在当前的HBase集群中,只有一个Master,一旦Master出现故障,将会导致HBase不再可用。...所以,在实际的生产环境中,是非常有必要搭建一个可用的HBase集群的。 HBase可用简介 HBase可用配置其实就是HMaster的可用。...要搭建HBase可用,只需要再选择一个节点作为HMaster,在HBase的conf目录下创建文件backup-masters,然后再backup-masters添加备份Master的记录。...搭建HBase可用 在hbase的conf文件夹中创建 backup-masters 文件 cd /export/server/hbase-2.1.0/conf touch backup-masters

681110

HBaseHBase之what

Hbase通过Zookeeper来做master的可用、RegionServer的监控、元数据的入口以及集群配置的维护等工作。...来加速Hbase的访问,比如cache的.META.元数据的信息。...流程 老的Region寻址方式 在Hbase 0.96版本以前,Hbase有两个特殊的表,分别是-ROOT-表和.META.表,其中-ROOT-的位置存储在ZooKeeper中,-ROOT-本身存储了...(3)Hlog数量上限 前面说到Hlog为了保证Hbase数据的一致性,那么如果Hlog太多的话,会导致故障恢复的时间太长,因此Hbase会对Hlog的最大个数做限制。...,7*7*128M)=6272M 第五次拆分大小为:min(10G,9*9*128M)=10G 第六次拆分大小为:min(10G,11*11*128M)=10G 从上面的计算我们可以看到这种策略能够自适应大表和小表

3.3K40

HBaseHBase之how

HBase Shell 常用命令: 注意:HBase在linux命令行下操作时,区分大小写 HBase API HBase 提供Java方式的原生接口,其中需要注意的有: (1)创建Connection...HBase Rest Gateway HBase附带的REST服务器,该服务器将HBase表,行,单元和元数据作为URL指定的资源公开。...HBase到Hive 将HBase的数据作为数据源,建立Hive外部表关联到HBase,利用Hive的HQL查询HBase数据,更进一步,将Hive的元数据同步到Impala,利用Impala的SQL...这是HBase二级索引出现的背景。即二级索引是为了让HBase能够提供更多维度的查询能力。...注意:HBase原生并不支持二级索引方案,但基于HBase的KeyValue数据模型与API,可以轻易地构建出二级索引数据。

3.2K20

Hbase(四):Hbase原理

Hbase(四):Hbase原理 Hbase的工作方式 region的分裂和结构 hbase表中的数据按照行键的字典顺序排序 hbase表中的数据按照行的的方向切分为多个region 最开始只有一个...由于hbase中的数据天然排序 再加上索引 整个查询也可以非常的快 Hbase中的region的寻址 在hbase中有一个hbase:meta表,其中存放了 表和region和regionSever 之间的对应关系信息...存储系统的三种结构 hash存储 ​ 例如HashMap ​ 优点 写效率 读效率 支持增删改随机读 ​ 缺点 顺序信息会丢失 B树 B+树 B-树 B*树 ​ 例如MySql ​ 优点 写效率...读效率 顺序信息不会丢失 ​ 缺点 当数据量很大 性能大幅下降 LSM树 - Log-Structured Merge Tree ​ 例如HBase ​ 支持增、删、读、改、顺序扫描操作 ​...牺牲了一部分读的性能换取了高效写入能力 Hbase系统架构 hbase中的老大叫hmaster 小弟叫hregionServer 客户端叫Client Zookeepr为hbase提供集群协调 client

3.9K10

首次适应算法、最佳适应算法和最差适应算法

关于首次适应算法、最佳适应算法和最差适应算法,先看一下百度百科的解释,已经说出了三者的最大区别。...首次适应算法(first-fit): 从空闲分区表的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,这种方法的目的在于减少查找时间。...最佳适应算法(best-fit):从全部空闲区中找出能满足作业要求的,且大小最小的空闲分区,这种方法能使碎片尽量小。...最差适应算法(worst-fit):它从全部空闲区中找出能满足作业要求的、且大小最大的空闲分区,从而使链表中的节点大小趋于均匀。...首次适应算法: 为212k分配空间: 依次找寻,找到第一个大于212k的空闲区; 找到第二个空闲区500k>212k,分配给212k,剩余288k空闲区;

6.5K10

HBase篇--HBase常用优化

二.具体优化 1.表的设计  1.1 预分区 默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region...因此Hbase的更新其实是不断追加的操作。...row key列表,批量写入多行记录,这样做的好处是批量执行,只需要一次网络I/O开销,这对于对数据实时性要求,网络传输RTT的情景下可能带来明显的性能提升。...row key列表,批量获取多行记录,这样做的好处是批量执行,只需要一次网络I/O开销,这对于对数据实时性要求而且网络传输RTT的情景下可能带来明显的性能提升。...共用一个配置 HTable table1 = new HTable(conf, "table1"); HTable table2 = new HTable(conf, "table2"); 备注:即使是负载的多线程程序

5.9K50

Hbase(二)Hbase常用操作

Hbase(二):Hbase常用操作 常用shell命令 hbase shell命令 描述 alter 修改列族(column family)模式 count 统计表中行的数量 create 创建表 describe...行,列对应的值,另外也可以指定时间戳的值) deleteall 删除指定行的所有元素值 disable 使表无效 drop 删除表 enable 使表有效 exists 测试表是否存在 exit 退出hbase...shell get 获取行或单元(cell)的值 incr 增加指定表,行或列的值 list 列出hbase中存在的所有表 put 向指向的表单元添加值 tools 列出hbase所支持的工具 scan...通过对表的扫描来获取对用的值 status 返回hbase集群的状态信息 shutdown 关闭hbase集群(与exit不同) truncate 重新创建指定表 version 返回hbase版本信息

3.1K10

Hbase入门(一)——初识Hbase

而这种特性使得Hbase对于实时计算体系的事件存储有天然的较好的支持。这使得Hbase在实时流式计算中也扮演者重要的角色。 ?...但关系型数据库有几点缺陷: 无法应对并发的考验,没有办法横向扩展,事务一致性对性能的影响。 而Nosql数据库,也就是Not Only Sql的缩写。扩展性强,并发性能好,数据模型灵活。...Hbase,也就是Hadoop Database是一个可靠、高性能、可伸缩的分布式数据库。Hbase参考了谷歌的BigTable建模,使用HDFS作为底层存储。...Hbase使用Java编写,还是一种NoSQL数据库,这些特性决定了Hbase独特的应用场景。...通过将数据增量的存入Hbase,并在流式处理中实时查询Hbase,结合历史得到最终的分析结果。

3.1K30
领券