巧用ChatGPT 解决 Hbase 快照方式读性能优化问题

一、背景

最近公司采用Hbase scan 的方式,经常性会遇到任务跑不出来region 读取超时,由于scan 全量数据,合计行数10个亿,列数接近500。根据建议方案,改为Hbase 快照读方式,避免给region 造成过大压力

二、Hbase 快照原理

snapshot流程主要涉及3个步骤:

1. 加一把全局锁,此时不允许任何的数据写入更新以及删除

2. 将Memstore中的缓存数据flush到文件中(可选)

3. 为所有HFile文件分别新建引用指针,这些指针元数据就是snapshot

三、实际线上表现

改为快照方式扫描之后,提交的任务半天提交不起来,接近1小时,任务才能启起来。

一般遇到程序卡住不动,会想到使用jstack 查看程序的堆栈信息

(1)查看程序的进程pid(top 命令或者ps -ef|grep 命令)

(2)找到程序的pid,打印jstack 信息

 能看到程序一直卡在这个地方,一直计算block 信息,找到对应的Hbase 源码,查看对应的代码信息

可以看到是由于计算block location信息,那什么是location 呢?

利用chatGPT查询hbase locality的含义,能发现其实就是数据本地性,而我们实际任务中是不需要计算这个本地性占比,因为只需要能拉到数据即可,无论是从本地还是远端

HBase locality的原理可以分为两个方面,即数据本地性和任务本地性。数据本地性
在HBase中,数据是以Region的形式存储的,一个Region包含了一段连续的行键范围。每个Region都会被分配到一个RegionServer上进行管理,并在该RegionServer上存储它所包含的所有数据。当客户端访问HBase中的数据时,它会首先向HBase的Master节点请求获取对应数据所在的RegionServer的信息,然后再从该RegionServer上获取所需的数据。如果客户端所在的节点与该数据所在的RegionServer节点相同,就可以直接在该节点上获取数据,避免了网络传输的延迟,从而提高了数据访问的效率。任务本地性
HBase中的任务包括数据写入和数据查询两种类型。在HBase中,数据写入是通过向表中的RegionServer发送写请求来完成的。如果客户端所在的节点与该RegionServer节点相同,那么写请求可以直接发送到该节点上,从而实现本地写入。另一方面,数据查询任务是由HBase的RegionServer节点完成的。当RegionServer节点接收到查询请求时,它会首先检查所需数据所在的Region是否已经在该节点上加载到内存中,如果是,则可以直接在该节点上执行查询操作,否则需要从其他节点上获取数据,这将导致额外的网络延迟和资源开销。因此,为了最大化任务本地性,HBase通常会将数据分布在多个Region中,并将这些Region分配到尽可能多的节点上进行管理,从而最大化数据和任务之间的本地性。此外,HBase还提供了一些机制来管理Region的负载均衡和RegionServer节点的故障转移,以保证系统的高可用性和稳定性。

 最终只需要在提交任务的地方设置 hbase.TableSnapshotInputFormat.locality.enabled 为false 即可,任务提交就非常快了。

参考:

HBase原理 – 分布式系统中snapshot是怎么玩的? – 有态度的HBase/Spark/BigData

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/7038.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

npm安装时卡在sill idealTree buildDeps,npm安装卡在一个地方不动

造成上述问题的原因是因为node的默认安装环境在国外,因此我们只需要修改下镜像的地址即可 1、采用taobao的镜像地址,进入cmd之后输入: npm config get registry 3、此时可以继续输入之前的npm install 命令 npm install 附加知识&#x…

【鸡汤里面的干货】农村娃娃毕业不到四年在深圳核心地段安家置业的背后是什么在支撑?

大家好啊,我就是那个【天涯何处无知己,人穷陌路勿担忧】的架构师李肯! 架构师李肯(全网同名) 在深圳白手起家,毕业不到4年实现一线城市核心地段的安家梦,从0开始谱写励志人生!一个专…

【LLMs系列】90%chatgpt性能的小羊驼Vicuna模型学习与实战

一、前言 UC伯克利学者联手CMU、斯坦福等,再次推出一个全新模型70亿/130亿参数的Vicuna,俗称「小羊驼」(骆马)。小羊驼号称能达到GPT-4的90%性能 github 地址: GitHub - lm-sys/FastChat: An open platform for training, servi…

如何让chatgpt给我们实现一个桌面便签?

我: 用Java开发一款桌面便签软件。功能需求:1、便签可以钉在桌面任意角落;2、便签内容实时保存到本地;3、有新增按钮,点击新增时清除当前面板上的内容,新建一条新的便签内容,并保存到本地&#…

ChatGPT - 小试牛刀 - 试水排序算法

在网上找了几家国内的chagpt镜像,最后还是没忍住上车了,试了一下传说中的写代码能力,果然鸟得很。 不废话直接上图: 上面的测试地址是 唠嗑么ChatGPT国内镜像网站,从站点上也能看到ChatGPT的能力了,什么写…

九龙证券|通信巨头火了!地产板块异动拉升,龙头获主力资金追捧

今天,11个职业取得主力资金净流入。 今天沪深两市主力资金净流出106.7亿元,其中创业板净流出27.79亿元,沪深300成份股净流入18.55亿元。 申万一级职业中,今天有25个职业上涨,房地产职业涨幅居首,达3.69%&a…

火爆全网的chatGPT,究竟是什么东西?

ChatGPT似乎用一夜的时间,让人们记住了无所不能的它!它是谁,凭什么有如此魅力?甚至让拥有ChatGPT概念的股票,接连封板? 下面我们先来对它做个了解。 简单来说,ChatGPT就是由人工智能研究实验室&…

今天我们来浅谈一下ChatGPT到底是什么东西

这是一篇非学术专业性的文章,而我也是为了解chatGPT而学了两三天人工智能,所以哪里写的不好的不对的地方还希望海涵。 图灵测试 1950年,人工智能之父艾伦图灵提出乐“图灵测试”。就是说当你在不面对面的时候跟机器人进行文字聊天的时候&…

chatgpt赋能python:Python怎么考期末:优秀SEO建议

Python怎么考期末:优秀SEO建议 考试是每个学生都要经历的事情,无论是小学生还是大学生。 期末考试让我们感觉像是在面对一堵墙,需要克服无数困难。 如今,我们的目标是给大家提供一些关于如何考Python期末考试的SEO建议。 第一步…

chatgpt赋能python:如何高效地准备期末Python考试,轻松地过关!

如何高效地准备期末Python考试,轻松地过关! 作为一名有10年Python编程经验的工程师,我想与大家分享一下如何高效地准备期末Python考试,轻松地过关。 1. 复习基础语法知识 Python是一门高级语言,其语法特点简洁明了&…

期末复习【嵌入式系统】

期末复习【嵌入式系统】 前言推荐期末复习推荐题型押题复习总述问题与思考:教学内容介绍 问题与思考第1章 嵌入式系统基础问题与思考 1.1 引言1.2 嵌入式系统的概述1.2.1嵌入式系统的定义1.2.2嵌入式系统组成1.2.3嵌入式系统的特点1.2.4嵌入式系统应用 1.3 嵌入式处…

假如ChatGPT变得邪恶

提前预判一切可能性,是为了让它变得更好 人工智能的最高成果是自由和谎言——《机械姬》 *本文仅供大家学习。转载请按照相关规则,注明来源,且附上本文的所有参考文献链接 为什么StackOverflow禁止使用ChatGPT *本文3000字左右 一些思路&…

chatgpt赋能python:不挂科必看!10年Python编程经验工程师教你如何应对Python期末考试

不挂科必看!10年Python编程经验工程师教你如何应对Python期末考试 作为Python工程师,期末考试是每年必须面对的挑战之一,不仅关系到自己的成绩,还可能影响今后的职业发展。如何才能不挂科呢?下面是我从10年的编程经验…

ChatGPT参加国内大学期末考试得到90高分,某国内大模型仅7分

ChatGPT时代已经来了!未来5-10年,AI能够在大多数人类工作岗位上表现得比人类更好。就教育而言,如何应对技术迅猛发展带来的挑战?在AI时代,大学生如何比机器更有竞争力? 文汇报消息,近日&#x…

西安石油大学期末C语言重点题目总结

C语言重点知识点总结 ##例题4-7 (switch和字符的读入) 只需要记住读入的是字符,然后执行对应操作即可 例题4-10 (switch) 做好不同公里数的分段即可 求累加和,连乘 https://blog.csdn.net/weixin_35903223…

chatgpt赋能python:Python期末考试该如何应对?

Python期末考试该如何应对? 随着Python编程语言的日益流行,越来越多的人开始受到其影响并学习这门语言。然而,对于初学者,即使是有经验的工程师,Python期末考试仍然可能成为一道难题。为此,我们提供了以下…

广东外语外贸大学英语文学期末考试复习(解析+细节)2023

前言:本博客旨在以讲解的形式复习这门课程,非常详细,主要是个人复习用,也是给我比较喜欢的课一个好的结尾(虽然我不怎么去上课)。其中有不正确之处欢迎指正!翻译解读来自网易有道,文…

java程序设计基础题期末考试

四、 简答题 &#xff08;共6题&#xff0c;30分&#xff09; 1、写出下列程序的运行结果____01234_____ public class X3_3_1 { public static void main(String[] args) { for(int i0; i<10; i){ if(i5) break; System.out.print(i); } } } &#xff08;5.0&#…

《数据库原理》期末考试题

得分 四、应用题(本大题共1小题&#xff0c;共18分) 1、设某生产零件的工厂有若干车间&#xff0c;每个车间加工若干种零件&#xff0c;每种零件在某个车间进行加工&#xff1b;车间的属性有车间名&#xff08;唯一&#xff09;、电话&#xff1b;零件的属性有零件号、零件…

AI部署之路 | 模型选型、本地部署、服务器部署、模型转换全栈打通!

作者 | Oldpan 编辑 | 汽车人 点击下方卡片&#xff0c;关注“自动驾驶之心”公众号 ADAS巨卷干货&#xff0c;即可获取 点击进入→自动驾驶之心【模型部署】技术交流群 后台回复【模型部署工程】获取基于TensorRT的分类、检测任务的部署源码&#xff01; 好久没更文了&#x…