Hbase写操作产生的木桶效应

大数据
有时候很多利旧设备不舍得丢弃,大数据集群又是一个廉价的高性能的分布式计算平台,只要是能开机的物理机都可以并入集群,但是,随之带来的问题就是磁盘IO会严重影响集群的性能,不过现在通过技术手段已经能够解决此类问题,比较常用的方式就是:设备分组。

[[212622]]

生产环境中hbase的写存在木桶效应,具体体现在hbase写入数据缓慢,在参数优化极好的情况下,仍然没有解决问题。经过多次的排查,产生问题的原因有2个:

1.网络问题

某个节点的网卡出现不明显故障,造成该节点网速传输速度下降。

2.异构设备磁盘硬件I/O

有时候很多利旧设备不舍得丢弃,大数据集群又是一个廉价的高性能的分布式计算平台,只要是能开机的物理机都可以并入集群,但是,随之带来的问题就是磁盘IO会严重影响集群的性能,不过现在通过技术手段已经能够解决此类问题,比较常用的方式就是:设备分组。

那么hbase为什么会出现木桶效应呢?首先我们都知道往hbase写入数据的时候,是先写入WAL的,写入成功后再写入memstore。

原来在Table创建的时候,有一个参数可以设置,是否每次写Log日志都需要往集群里的其他机器同步一次,默认是每次都同步,同步的方式有2种:Pipeline,n-Way Writes。

Pipeline是指datanode接收数据后,再传给另外一台datanode,是一种串行的方式; 

n-Way Writes是指多datanode同时接收数据,最慢的一台结束就是整个结束

差别在于一个延迟大,一个并发高。

那么从2个同步方式中可以看出,如果在同步时,其中某个节点的性能出现问题,从而会导致整个集群出现严重的写延迟,这就是木桶效应的主要原因。

题外话:

hbase的日志有.logs和.oldlogs。.logs保存的是所有Regionserver上当前在写入的HLog,.oldlogs是过期日志,通过hbase.master.logcleaner.ttl参数可以设置定期清理这个过期日志,默认是10分钟

责任编辑:武晓燕 来源: oschina博客
相关推荐

2011-01-04 10:08:10

惠普灵活数据中心蝴蝶

2023-09-25 15:39:14

2020-06-09 14:45:21

5GSub-6GHz毫米波

2019-01-03 11:29:56

云计算行业科技

2017-03-01 20:53:56

HBase实践

2010-03-15 11:34:44

Python游戏

2017-05-25 10:58:08

HBase数据库操作系统

2010-11-23 11:03:16

跳槽

2019-09-18 08:34:27

物联网共生效应IOT

2022-05-31 09:52:14

开源软件

2009-09-04 14:52:21

C# FileStre

2010-05-31 17:18:39

Cassandra数据

2012-05-17 09:26:43

MapReduce

2013-01-14 15:29:32

用户界面UI设计光环效应

2010-06-03 13:55:38

Hbase和Hadoo

2010-09-30 15:59:16

JSPCookie

2009-12-08 12:24:36

LinuxNTFS分区写操作

2022-11-01 11:22:38

2013-08-29 09:41:07

低功耗数据中心处理器

2013-12-17 09:52:55

4G移动互联网
点赞
收藏

51CTO技术栈公众号