首页 > 其他分享 >Hbase常见面试题

Hbase常见面试题

时间:2024-03-13 16:00:27浏览次数:15  
标签:面试题 压缩 常见 Snappy LZO region Hbase 压缩率 HBase

major 和minor compaction区别:

1.minor操作:达到TTL(记录保留时间)会被移除,删除和更新的数据仅仅只是做了标记,并没有物理移除,这种合并的触发频率很高。小合并不做数据删除,因为发生频率比较高,消耗性能小。
2.major操作:是对region下的hstore下的所有storefile执行合并操作,最终的结果是整理合并出一个文件。

怎么手动定时删除hbase中的数据

合并Store中/的HFile为一个HFile
这个过程有删除标记的数据会被真正移除,同时超过单元格maxVersion的版本记录也会被删除。合并频率比较低,默认7天执行一次,并且性能消耗非常大,建议生产关闭(设置为0),在应用空闲时间手动触发。一般可以是手动控制进行合并,防止出现在业务高峰期。

hbase表的预分区-M

当一个table刚被创建的时候,Hbase默认的分配一个region给table。也就是说这个时候,所有的读写请求都会访问到同一个regionServer的同一个region中,这个时候就达不到负载均衡的效果了,集群中的其他regionServer就可能会处于比较空闲的状态。解决这个问题可以用pre-splitting,在创建table的时候就配置好,生成多个region。

为何要预分区-M

  • 增加数据读写效率
  • 负载均衡,防止数据倾斜
  • 方便集群容灾调度region
  • 优化Map数量

Hbase压缩-M

为了提高 HBase 存储的利用率,很多 HBase 使用者会对 HBase 表中的数据进行压缩。目前 HBase 可以支持的压缩方式有 GZ(GZIP)、LZO、LZ4 以及 Snappy。它们之间的区别如下:

GZ:用于冷数据压缩,与 Snappy 和 LZO 相比,GZIP 的压缩率更高,但是更消耗 CPU,解压/压缩速度更慢。
Snappy 和 LZO:用于热数据压缩,占用 CPU 少,解压/压缩速度比 GZ 快,但是压缩率不如 GZ 高。
Snappy 与 LZO 相比,Snappy 整体性能优于 LZO,Snappy 压缩率比 LZO 更低,但是解压/压缩速度更快。
LZ4 与 LZO 相比,LZ4 的压缩率和 LZO 的压缩率相差不多,但是LZ4的解压/压缩速度更快。
各种压缩各有不同的特点,我们需要根据业务需求(解压和压缩速率、压缩率等)选择不同的压缩格式。多数情况下,选择Snppy或LZ0是比较好的选择,因为它们的压缩开销低,能节省空间。这里介绍一下 HBase 中使用 Snappy 的方法,其他的压缩设置方法和这个类似。
创建表的时候指定分区:

create 'iteblog',{NAME=>'f1'}, {NAME=>'f2',COMPRESSION=>'Snappy'}

f2指定压缩格式。
对已有表进行压缩:

hbase(main):001:0>  alter 'iteblog', NAME => 'f', COMPRESSION => 'snappy'

标签:面试题,压缩,常见,Snappy,LZO,region,Hbase,压缩率,HBase
From: https://blog.csdn.net/weixin_41367158/article/details/136682097

相关文章

  • 五.pandas常见操作
    目录五.pandas常见操作1.pandas处理字符串以上演示1-大小写转换2-去空格(两边).str.strip()3-切割4-连接.str.cat()5-空格检测.str.contains("")6-替换7-count()--返回元素出现次数8-repeat()2.查询操作2.1query("")2.2isin()2.3apply()3.缺失值处理......
  • 一些常见的shell问题和答案
    什么是Shell脚本?它有什么作用?Shell脚本是一种用Shell语言编写的脚本文件,用于自动化执行一系列命令和操作。它可以用于系统管理、任务自动化、数据处理等各种用途。如何在Shell脚本中定义变量?如何使用变量?在Shell脚本中,可以使用变量名=值的形式来定义变量,例如name="John"......
  • 常见的html标签
    (1)标题标签:<h1>-<h6>,从大到小的六个级别。(2)段落标签:<p>,定义段落。(3)链接标签:<a>,定义超链接。(4)图像标签:<img>,插入图像。(5)列表标签:<ul>和<li>,创建无序列表<ol>和<li>,创建有序列表(6)表格标签:<table>,定义表格<tr>,定义表格行<th>,定义表头单元格<td&g......
  • vue使用Echarts常见警告处理方法
    【警告一】[ECharts]DEPRECATED:textStylehierarchyinlabelhasbeenremovedsince4.0.AlltextStylepropertiesareconfiguredinlabeldirectlynow.这个警告信息是因为你在使用ECharts时,使用了旧版本的配置方式,即在label的配置项中使用了textStyle层级来设......
  • 常见网络摄像机IP搜索不到可能导致的问题及解决办法汇总
    前两天就遇到同一个问题,网络摄像机搜不到,幸好多带了一个摄像头,不然就糗大了,关于这个问题,从工地上回来就到处请教,找了一下,所以就把答案分享出来,看看能不能帮到你。导致网络摄像机IP搜索不到的原因是多样的,而网络摄像机IP搜索不到可能引发的问题也是多样的,本文将针对网络摄像机......
  • nvm命令和常见报错
    常用命令nvmlistavailable//查看所有node版本nvmlist//查看已经安装nodenvmls//查看已经安装nodenvmcurrent//查看当前版本nvmversion nvminstallXXX//安装指定node如:nvminstall13.14.0nvmuninstallnod......
  • .Net 面试题总结
    WPF和WinForm区别WPF:分辨率自适应,属性binding,有事件路由、命令绑定、数据模板数据模板等特性,前后分离,可创建样式动画,页面比WinForm更炫酷WinForm:自适应差,label控件不可设置透明背景区别WPFWinForm句柄整个窗口为一个句柄窗口中每个控件都是一个句柄渲染使......
  • Locust和其他常见的性能测试工具的区别?
     不同细节表现如下:*脚本 locust使用写脚本的方式,方便对于python有一定基础的人,可以随着自己的想法进行脚本的编写 jmeter通过可视化工具,填写后保存。上手难度低,适合所有人员。*运行 locust有两种启动,一种通过web模式控制,还有一种通过命令行控制 jmeter有......
  • 【2024面试刷题】二、Spring Cloud 面试题之Hystrix
    1、springcloud断路器的作用是什么?答:当一个服务调用另一个服务由于网络原因或自身原因出现问题时,调用者将等待被调用者的响应当更多的服务要求这些资源导致更多的请求等待时,就会出现连锁效应(雪崩效应)。断路器完全打开:一段时间内达到一定次数不能调用并且多次监测无恢复迹象......
  • Http状态码502常见原因及排错思路
    Http状态码502常见原因及排错思路502表示BadGateway。当Nginx返回502错误时,通常表示Nginx作为代理服务器无法从上游服务器(如:我们的后端服务器地址)获取有效的响应。导致这种情况的原因有很多:1、后端服务器故障2、nginx配置问题3、高负载或者资源耗尽4、nginx与后端服务器通......