hbase大规模数据写入的优化历程

查询MYSQL和查询HBASE速度比较 MySQL,关系型数据库; HBase,NoSql数据库。 查询Mysql和查询HBase,到底哪个速度快呢? 与一些真正的大牛讨论时,他们说HBase写入速度,可以达到每秒1W。而HBase的理想速度为每秒10W。 来个实验说明一下,此实验只能表明,当前环境下运行状态。我的实验效果,没有到1W,还在优化中…   环境: 有3台虚拟机,运行Hadoop集群 阅读详情

业务背景:由于需要将ngix日志过滤出来的1亿+条用户行为记录存入Hbase数据库,以此根据一定的条件来提供近实时查询,比如根据用户id及一定的时间段等条件来过滤符合要求的若干行为记录,满足这一场景的技术包括:Solr,Elasticsearch,hbase等,在此选用了Hbase来实践。

step 1 :

直接hbase建表,然后读取记录文件逐条写入Hbase。由于hbase实际的写入速度远远小于我的提交速度,在写入了1700条记录后,hbase出现了宕机,提交后无响应。查看hbase日志,出现 out of memory异常。

step 2:

考虑在建表的时候没有进行预分区,因此写入的时候会存在热点写的问题,同时数据持续增长,需要不断的对region进行split,实际上这一步相当消耗资源。因此对要写入的Hbase表重新预分区。好在上一步骤中写入的数据不多,因此直接删除表和数据后重新建表并预分区:
[plain]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. create 'user_actions', {NAME => 'info', VERSIONS=> 3},{SPLITS => ['130','140','160','170','180']}  
设计预分区的时候需要有个预判,rowkey的范围及在各个区间的可能分布情况,由于我这里的rowkey是组合用户的注册电话/时间及其他字段,因此上述的预分区,可以将记录较好的散列在各个region上,对热点写有一定的减缓作用。
同时,针对out  of memory异常,修改hbase配置文件/conf/hbase-site.xml,将hbase的堆内存增加到3GB(条件有限,如果硬件条件好的话,可以增加到4-8GB)。
继续写入,但是写入速度很慢,维持在数百条/秒的样子,同时写入了20几万条后响应速度越来越慢。

STEP 3:

上述问题的根源在于高频提交小数据,导致Hbase疲于创建线程并进行资源的回收,最终甚至会出现宕机。
之后,将单条put到Hbase改为一次put多条记录到hbase,即批量提交,同时限制一秒内提交的频次。最后顺利写入。由于hbase集群只有三台机器(一台master,2台slave),进过上述优化后,写入速度基本维持在1w-2w条/秒的水平,基本满足需要了。

总结:在hbase涉及一次性写入大量数据时,有几个地方可以考虑进行优化:(1)建表的同时进行预分区 (2)修改Hbase本身的配置(能够优化写入和读取的配置项远不止修改堆内存这一项,在此不表了)  (3)尽量使用批量写入的方法,同样的道理,读取的时候,使用批量读的方法 (4)网络IO/磁盘IO
HBase在大规模用户画像系统中的应用 用户画像系统是企业实现精准营销、个性化推荐的核心基础设施,其核心需求是大规模高维特征的高效存储与实时检索。HBase作为分布式列存储系统,凭借列族模型、稀疏存储、高并发读写、横向可扩展等特性,成为大规模用户画像系统的首选存储方案。本文从概念基础、理论框架、架构设计、实现机制、实际应用五个维度,系统解析HBase与用户画像系统的适配性,并结合教学元素(类比、可视化、案例)降低理解门槛,最终给出高级考量(安全、伦理、未来趋势)与战略建议,为企业构建高可用、高性能的用户画像系统提供全面指导。 阅读详情

相关推荐

Java 大视界 -- Java 与大数据存储优化:HBase 与 Cassandra 应用(十)

本文围绕 Java 与大数据存储优化,深入介绍 HBase 与 Cassandra 应用,对比其特点与优化策略,为大数据存储提供参考。

【青云交】华为云云享专家 | 阿里云开发者社区专家博主 技术圈个人影响力前 9 | 博客之星 TOP12 优快云 首位四榜(原力榜 / 作者周榜 / 领军人物 / 综合热榜)榜首,破平台纪录! 苏州地区全榜霸榜,感恩全网十多万粉丝同行! 3292

HBase

HBase知识点

小道的博客 2174

图像去雾常见数据集

上述数据集涵盖了室内、室外、真实和合成等多种场景,可以满足不同研究需求。在选择数据集时,建议根据具体任务的应用场景和目标选择合适的数据集,例如真实雾天图像适合模型的实际应用验证,而合成数据则适合模型的快速迭代和训练。希望本文能为从事图像去雾研究的朋友提供一些帮助!

m0_68604571的博客 6340

HBase写性能优化策略

HBase写入通常会遇到两种问题: # 写的性能很差 # 根本写不进去 一 HBase写入性能优化 1.1 是否需要写WAL? WAL是否需要同步写? WAL机制可以确保数据即使写入缓存的数据丢失了,也可以恢复;另外是为了集群之间的异步复制。默认WAL机制开启,且使用同步机制写入WAL. 我们可以考虑是否需要写入WAL,通常大多数企业业务都会开启,但是对于部分业务可能并不特别

happy19870612's blog 8303

从Bit到MCS:深度解析Xilinx FPGA程序固化流程与文件选型

本文深度解析Xilinx FPGA程序从调试到量产的固化流程,重点对比BIT、BIN、MCS和ELF四种文件格式的特性与适用场景。针对工业级应用,详细讲解MCS文件的生成优化、Flash烧录避坑指南及三级验证流程,并分享多镜像管理、加密安全等高级技巧,帮助开发者提升FPGA量产可靠性。

weixin_30924239的博客 326

高光谱目标检测论文学习(1)—— Hyperspectral Target Detection:Hypothesis Testing,SNR and SA Theories

前言 从这篇开始,将会学习一些高光谱目标检测的论文,我仍然把这篇文章放到了读论文专栏里,但是不对其进行顺序编号了,因为这个方向是比较小众的。今天来学习这篇TGRS2021的最新论文,讲的比较详细,相对比较适合初学者入门。我之前也写过一些有关目标检测的论文,但是高光谱目标检测(HTD)和之前的我们学的目标检测是不同的,因为其检测的对象不是普通摄像头得来的数字图像,而是高光谱遥感图像。其包含了很多光谱信息,而光谱信息本身经过处理后就可以作为特征,因此很多情况下就无需使用广义的目标检测问题中的卷积神经网络等方式去

MrBamboo2000的博客 7487

每秒125万条写入速度-时序数据库Machbase中的Tag table的基本使用

Background 上年6月份写过一篇关于Machbase时许数据库的简单介绍 【时序数据库Machbase】。 但之前只是简单介绍了下,今天我们详细介绍下,主要是Machbase中针对存储传感器监测数据而设计的Tag table的基本使用,并在本地单机环境简单测试了一下数据的写入性能,写入的数据和之前测试中【Influxdb和TDengine的写入性能测试(Java)】使用的一样,一个传感器带三个指标数据。最终测试结果为【125万条/秒】。这次测试的服务器和之前测试Influxdb和TDengine

on the way . . . 1979

YOLOv11 热力图可视化全流程:从模型解释到科研论证,让检测结果“有理可看”

无论是科研中需要严谨的模型解释,还是工业里要高效的缺陷定位,这套方法都能让你在“模型黑箱”与“业务需求”之间架起一座可视化的桥梁。别再让模型决策“无据可依”——现在就动手生成你的第一幅热力图,让 YOLOv11 的每一次检测都“有理可看”,用可视化的力量推动你的 AI 研究与落地走向深入!某团队在论文中通过热力图对比,证明其改进的注意力模块可使模型对小目标的关注区域更精准,实验论证说服力提升 50%;工业质检场景下,热力图帮助工程师快速定位模型漏检缺陷的原因——原来是对某类缺陷的特征关注不足。

m0_71589036的博客 679

hbase大规模数据写入的优化历程 ,ZZ

http://blog.youkuaiyun.com/zbc1090549839/article/details/51582817 转载于:https://www.cnblogs.com/GrantYu/p/5766992.html

aiyongshan6014的博客 129

【机器学习】推理时计算优化——思维链(Chain-of-Thought)与慢思考范式 第一章:基础理论与认知框架 第二章:计算优化技术与前沿方法

过程监督在数学推理中展现出显著优势,因其能够定位错误发生的具体步骤,而非仅在最终答案处提供稀疏反馈。然而,高质量过程标注的获取成本高昂,这催生了基于自动验证器的近似方法。

VectorShift的博客 74

Stable Diffusion WebUI 安装前准备

大家好,我是水滴~~在安装 stable-diffusion-webui 前需要做一些准备工作,本篇文章主要介绍需要的电脑配置、魔法、安装 Python、安装 Git 等。

水滴的博客 2102

HBase 性能优化 详解

在深入讨论优化策略之前,先简单回顾 HBase 的核心架构和工作原理。想要详细了解可以看我的HBase架构介绍。1.1 HBase 架构HMaster:负责元数据管理和 Region 的分配、迁移等操作。:负责数据的读写,管理多个 Region,存储实际的数据。ZooKeeper:作为分布式协调服务,管理集群状态和协同操作。HBase 通过分区(Region)存储数据,每个 Region 对应一定范围的 Row Key。当数据量超过设定的阈值时,Region 会进行自动切分。1.2 数据存储原理。

goTsHgo的博客 2301

Python入门实战:Python生物信息学编程基础

本文旨在为生物学背景的研究人员和对生物信息学感兴趣的程序员提供一个全面的Python生物信息学编程入门指南。我们将从Python基础知识开始,逐步深入到生物信息学特定的工具和技术,最终达到能够独立开发生物信息学分析程序的水平。Python编程基础生物信息学常用数据结构和算法DNA和蛋白质序列分析基因组数据处理生物信息学数据可视化Biopython库的使用实际项目案例背景介绍:概述文章目的、范围和预期读者核心概念与联系:介绍Python和生物信息学的基本概念。

AI架构师小马 1516

hbase大规模数据写入

业务背景:由于需要将ngix日志过滤出来的1亿+条用户行为记录存入Hbase数据库,以此根据一定的条件来提供近实时查询,比如根据用户id及一定的时间段等条件来过滤符合要求的若干行为记录,满足这一场景的技术包括:Solr,Elasticsearch,hbase等,在此选用了Hbase来实践。 step 1 : 直接hbase建表,然后读取记录文件逐条写入Hbase。由于hbase实际的写入速度远...

u014156013的博客 2387

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

优化Hbase查询速度

环境:suse 8G内存,8核,12T磁盘 hbase master 占一台,其他7台作为hbase的region server 注意:此处不讨论hadoop 情景: 我们有7亿的数据...

chuteng3602的博客 2459

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

hbase数据读取优化_HBase 客户端怎么读取与写入数据以及如何优化写入读取

1. HBase 介绍1.1 HBase 是什么HBase 全称为 Hadoop Database,即 Hadoop 数据库,是一个高可靠、高性能、面向列族、可伸缩的分布式的存储系统。HBase 使用 HDFS 作为其文件存储系统,可以使用 Hadoop 的 MapReduce、Spark 及 Flink 来处理 HBase 中的海量数据,利用 ZooKeeper 作为其协调工具。可在廉价 PC ...

weixin_39890102的博客 326

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

一种大规模网络流式数据缓存写入的方法

一种大规模网络流式数据缓存写入的方法  摘要 本发明提供一种大规模网络流式数据缓存写入的方法包括:客户端将采集的数据封装后,发送给服务器端;服务器端对接收到的数据进行解析,确认数据的来源,并将数据格式统一;将格式统一后的数据,根据其来源写入不同内存的缓存区域;对写入不同内存缓存区域的数据制定不同的缓存策略,并将满足策略触发条件的数据从内存写入本地文件系统;将写入本地文件系统的数据根

yidaizongshi579的博客 2287

HBase优化与LSM树深度剖析技术博客

HBase基于LSM树实现了高效的写入与扩展能力,但优化需结合实际业务场景,合理调参、监控与建模。掌握其底层原理,有助于系统性提升HBase集群性能与稳定性。

IT技术学习与工作笔记分享 926

通过HBase实现大规模日志数据存储与分析

HBase是基于Hadoop的分布式列存储数据库,适用于海量、非结构化或半结构化数据的存储。它能够通过水平扩展来支持大规模数据,并且与Hadoop生态系统深度集成,支持大规模数据分析任务。

IT枫斗者的博客 1422

HBase数据库设计:规划和优化

1.背景介绍 1.背景介绍 HBase是一个分布式、可扩展、高性能的列式存储系统,基于Google的Bigtable设计。它是Hadoop生态系统的一部分,可以与HDFS、MapReduce、ZooKeeper等组件集成。HBase具有高可靠性、高性能和易用性,适用于大规模数据存储和实时数据处理。 在现代互联网企业中,数据量不断增长,传统关系型数据库已经无法满足实时性、可扩展性和高可用性等需...

AI天才研究院 1437
上一篇: HBase 常用Shell命令
下一篇: 一个简单的分段锁hashmap
hxpjava1
博客等级 码龄19年 1365粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值