关闭
当前位置:首页 - 国际国内新闻 - 正文

王蓉,HBase 2.0 在时序数据存储方向的使用-网友干的沙雕事,网民的有趣行为收集大全

admin 2019-11-27 243°c
HBase 是根据 HDFS 存储的分布式 Nosql 数据库,具有易于线性拓宽和高并发随机实时读写才能,现在已成为大部分公司根底存储架构中不行短少的组成部分。作者:牛魔

1、HBase 生态介绍

HBase 是根据 HDFS 存储的分布式 Nosql 数据库,具有易于线性拓宽和高并发随机实时读写才能,现在已成为大部分公司根底存储架构中不行短少的组成部分。通过多年开展,HBase 生态也日益丰厚,现在 HBase 王蓉,HBase 2.0 在时序数据存储方向的运用-网友干的沙雕事,网民的风趣行为搜集大全首要生态包含以下几个方向:

1.1 时序数据:

OpenTSDB 是根据 HBase 的时序数据库,具有海量数据实时读写才能和聚合核算才能。多被应用在实时监控范畴和对事务趋势的实时剖析;

1.2 Cube 剖析:

Kylin 是 HBase 生态中 Cube 剖析的项目,将数据进行预核算后存储在 HBase 中,对用户供给 SQL 接口,可为用户工伤供给亚秒级多私摄维度剖析;

1.3 SQL On HBase:

Phoenix 是 HBase 上的 SQL 组件,支撑规范 SQL 和 JDBC API,用户可像运用联系型数据库的操作办法操作 HBase 数据。一起支撑二级索引售罄功用,大大提高查询速度;

1.4 时空数据:

GeoMesa 是根据 HB轨迹火车ase 的时空数据组件,可供给大规模分布式地舆空间数据查询和剖析。

2、贝壳 HBase 的生态介绍

在贝壳现已有根据 Kylin 的实时剖析引擎;根据 OpenTSDB 的集群监控信息存降头储;根据 Phoenix 的 SQL 组件,支撑规范 SQL 语法,可通过 JDBC 办法衔接进行操作,可树立索引对查询加快。

1)根据 Kylin 的实时剖析服务(已树立完结)

2)根据 Opentsdb 的集群监控信息存储(已树立完王蓉,HBase 2.0 在时序数据存储方向的运用-网友干的沙雕事,网民的风趣行为搜集大全成)

3)根据 Phoenix 的 SQL 组件(已树立完结)

4)根据 GeoMesa 的时空数据(暂未建造,需求搜会集)

3、HBase 时序数据存储现在状况

从 2018 年 8 月份开端咱们开端运用 OpenTSDB 来存储集群监控数据,现在已存储 Hadoop 和 HBase 集群 Metrics 数据以及集群各个节点根底信息数据。这套时序存储由 5 个节点的 HBase 集群和 3 个节点的 OpenTSDB 建立而成,HBase 均匀每秒处理 3W 恳求,最大每秒处理 10W+ 恳求。

4、HBas聂e 2.0 新特性介绍

2018 年 8 月份咱们开端对 HBase2.0 版别进行调研,期望能够运用更少的资源,取得王朔缺席女儿大婚赛肤康更高的功用,通过一系列测验终究仅运用本来一半的内存到达了预期作用。那么为什么 HBase2.0 能够运用更少资源取得更高的性藏獒图片能呢?这得益于 2.0 版别的一些新特性,现在我来为咱们介绍一下:

4.1 AssignmentManager V2(AM V2)

AM 担任保护 Region 分配进程中的状况,AM V2 根据 Procedure V2 存储状况,去除了对 Region 分配进程对 zookeeper 的依靠,Region 状况直接通过心跳报告给 Master,下降了 RIT 的呈现概率。改特性默许敞开;

4.2 Offheapping of Read/Write Path

将数据缓存和 memstore 放到堆外,堆内只存储一级缓存中的索引和 bloom filter 数据;削减了 GC 次数提高了安稳下降推迟;

4.3 In-Memory Compaction

在 HBase1.x 版别中,memstore 到达 flush 阀值时,直接进行 flush 将数据写到磁盘;引进该功用后,memstore 中数据会在内存中进行屡次 compaction 后再 flush,削减了写磁盘次数并能削减写扩展问题;

4.4 Netty好想你RpcServer

运用 Netty 的高并发才能,大大提高了 HBaseRPC 的吞吐才能,下降了推迟。该特性默许敞开;

4.5 Async Client

Async Client 运用异步 RPC 机制,大大高 Client 端恳求并发量,扩展吞吐;

4.6 RS Group

通过给 RegionServer 分组,很好地完成了资源阻隔,也能够按需分配不同功用机器进行数据存储,例如冷数据存王蓉,HBase 2.0 在时序数据存储方向的运用-网友干的沙雕事,网民的风趣行为搜集大全在 HDD 磁盘 RS 上,温数据存在 SDD 和 HDD 混布 RS 上,热数据存在全 SSD RS 上;

4.7 Support for MOB

MOB 特性使得 HBase 支撑存储小于 10MB 的中等媒体目标数据,比较原有直接存储大目标,其读写功率更高。

5、OpenTSDB 介绍

OpenTSDB 是一个根据 HBase 的可拓宽时序数据读写服务,可通过 HTTP API 的办法对数据进行读程墨阳夏晴写。咱们运用的 OpenTSDB 版别是最新的 2.3.1,为了到达更好的读写功用,咱们选用了读写别离的布置计划。接下来我给咱们介绍一下值得留意的点和装备:

1)初始化表时,要对表进行预切分

默许初始化的表都只要一个分区,形成许多恳求压到一个节点上形成宕机;

2)敞开 uid 随机映射到 metrics,使得数据均匀分布到各 region 上:

1tsd.core.uid.random_metrics=true

3)敞开 mate 数据实时创立追寻,以便运用 tag_values 函数获取 metric 指定 tag 值调集:

1tsd.core.meta.enable_realtime_uid=true

2tsd.core.meta.enable_tsuid_tracking=true

3tsd.core.meta今日阴历多少.enable_realtime_ts=true

留意:敞开该功用后,对 HBase 的访问量会激增。

4)设置 tag 答应字符,处理非字符问题:

1tsd.core.tag.allow_specialchars王蓉,HBase 2.0 在时序数据存储方向的运用-网友干的沙雕事,网民的风趣行为搜集大全 = ", ;[]:/@"

6、要害装备

6.1 HBase 相关装备

前面介绍了许多特性,有些是默许敞开的,有些需求额定装备。咱们首要运用了 Offheapping新年英语 of Read/Write Path 和 In-Memory Compaction 两个特性,下面是相关的装备:

1)hbase-env.sh 文件内装备:

设置对外内存巨细

1export HBASE_OFFHEAPSIZE=30G

regionserver JVM 参数设置,主张运用 G1 废物收回,可操控最长暂停时刻

1export HBAS娘E_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:+U越轨阅历seG1GC -Xms30g -Xmx30g -XX:+UnlockExperimentalVMOptions -XX:MaxGCPauseMillis=100 -XX:-ResizePLAB -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -XX:G1HeapWastePercent=3 -XX:InitiatingHeapOccupancyPercent=35 -XX:G1MixedGCLiveThresholdPercent=85 -XX:G1NewSizePercent=4 -XX:G1MaxNewSizePercent=10"

2)hbase-site.xml 文件装备

1

2

3 hbase.bucketcache.ioengine

4 offheap

5

6

7

8 hbase.bucketcache.size

9 17408

10 堆外缓存 (L2 Cache) 巨细,单位 MB

11

12

13

14 hfile.block.cache.size

15 0.2

16 堆上缓存 (L1 Cache) 巨细,占堆巨细的 20%

17

18

19

20

21 hbase.regionserver.offheap.global.memstore.size

22 10240

23男配he档案 堆外 memstore 巨细,单位 MB

24

3)In-Memory Compaction 装备

有两种设置办法:

大局敞开

在 hbase-site.xml 增加如下装备:

1

2 hbase.hregion.compacting.memstore.type

3 NONE|BASIC|EAGER|AD泰国电影APTIVE

4

5

留意:运用这种装备,会导致原有其他表的 region 无法运用,主张选用第二王蓉,HBase 2.0 在时序数据存储方向的运用-网友干的沙雕事,网民的风趣行为搜集大全种装备

针对表敞开

1create '',

2{NAME => '’, IN_MEMORY_COMPACTION =>''}

6.2 In-Memory Compaction 战略介绍

1)BASIC 战略

一个低开支计划,它将 pipline 中的一切 segment 索引兼并到一个平整索引中。他不会整理冗余,以防止 cell 数据复制

2)EAGER 战略

一个高本钱 / 高回报计划,即能够平衡索引也能够消除冗余,并整理剩余版别,需求复制数据会有额定开支,适用于写入较多场景

3)ADAPTIVE 战略

首要对待兼并 segment 进行评价,办法是在现已计算过不重复 key 个数的 segment 中,找出 cell 个数最多的一个,然后用这个 segment 的 numUniqueKeys/getCellsCount 得到一个份额,假如份额小于设定的阀值则运用 EAGER 战略,不然运用 BASIC 战略

7、OpenTSDB 相关装备

在 opentsdb.conf 文件中装备

1 tsd.郑晓阳core.tag.allow_specialchars = ", ;[]:/@"

2 tsd.core.uid.random_metrics=true

3 tsd.core.meta.enable_realtime_uid=true

4 tsd.core.meta.enable_tsuid_tracking=true

5 tsd.core.meta.enable_realtime_ts=true

8 经验总结

通过一段时刻的运用咱们遇到过一些问题,在这里和咱们共享下:

1)HBase 2.0 默许运用 NettyRpcServer,会因为客户端(OpenTSDB)处理结果速度慢形成 Netty buffer 堆积 ,导致 RegionServer 频频 FullGC,然后宕机;

处理计划:引进社区 Patch,对缓冲区巨细进行约束,缓冲区默许巨细 2GB,咱们终究设置 6GB

2)Hbase 2.0 王蓉,HBase 2.0 在时序数据存储方向的运用-网友干的沙雕事,网民的风趣行为搜集大全中 hbck 只能进行检查不能进行修正,一旦呈现 RIT 问题不易处理;

处理计划:呈现 RIT 问题可通过以下两种办法进行处理:

在 hbase shell 中运用 assign 指令重新分配指定 region,假如无效选用第二种办法;

运用 hbck2 进行修正,有些修正后仍未处理时重启 Master,问题得到处理。

3)当 RegionServer 重启后,集群不会主动 balance,手动调用 balancer 指令也无效,即便其他伦理片搜搜节点每秒恳求几万的状况下也不会进王蓉,HBase 2.0 在时序数据存储方向的运用-网友干的沙雕事,网民的风趣行为搜集大全行 balance,且日志无反常。

处理计划:切换 HMaster 节点,再手动调用 balancer 指令。

作者介绍:牛魔,贝壳找房 HBase 担任人。

本文转载自大众号贝壳产品技能

原文:https://mp.weixin.qq.com/s/jNqT2rwd6yFl9A4yLACcZQ
标签: 未定义标签
admin 14文章 0评论 主页

  用户登录