自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 【HBase运维】利用HFile的元数据快速统计表的KV数量

在运维HBase的过程中,经常会遇到用户有统计表的行数的需求,如果表的数量比较小,那么在shell 里面采用count 就可以解决问题,一般1-2个region的都可以采用这个方式,而一旦是几十region , 甚至是上百个region 的时候,这个时候用count就不现实了,那么还有没有什么其他方式呢?通过查看HBase的代码,发现了HFile在FixedFileTrailer有一个变量 /** * The number of key/value pairs in the file. Thi

2021-04-29 09:48:05 416 3

原创 【HBase异常】“java.lang.OutOfMemoryError: Requested array size exceeds VM limit”

使用版本CDH5.4.5,HBase1.0.0刚来新公司不久就出现RegionServer宕机事件,报的异常如下:2017-05-12 21:15:26,396 FATAL [B.defaultRpcServer.handler=123,queue=6,port=60020] regionserver.RSRpcServices: Run out of memory; RSRpcServices will abort itself immediatelyjava.lang.OutOfMemoryE

2021-04-29 09:47:18 998 2

原创 一次log4j的导致的OOM 破案之旅

起因上周下午,正当我准备早早下班的时候,收到了一条报警信息,XX机器的XX服务不可用,按照运维操作步骤,先把服务恢复再说,由于服务是高可用,对业务没有影响,但是还是要找出出现问题的原因,避免下次再出现。按照之前的文档处理完重启之后,需要花点时间定位一下为什么进程会退出。日志首先,关注是日志,在日志中,出现了下面的信息java.lang.OutOfMemoryError: GC overhaed limit exceeded . 一般来说,导致OOM的有两种情况:数据量增加,导致的堆的空间不

2021-04-29 09:46:36 852 2

原创 [presto原理] 使用presto的插件开发权限验证和审计

前言随着presto在公司内部的使用,越来越多的同事将日常的开发迁移到presto,需要不单单仅限于查询平台,更多的用户希望可以通过自己的账号直接使用presto查询,这样就是带来三个问题:用户可以使用内部ERP系统的账号和密码进行查询需要验证用户的权限是否有查询表的权限基于审计的要求,需要保留所有的查询痕迹调研presto是一个非常方便的mpp架构引擎,为了方便公司用户的使用,提供了非常方便的插件,具体可以参考:presto开发指南。针对以上的需求,通过文档,设计了如下方案:开启http

2021-04-29 09:45:37 1323 2

原创 使用Grafana Image Renderer 插件获取Grafana 监控图

需求来源最近领导提了一个新需求,让手下的人在早上股市开市之前把各自负责的核心系统的监控截图发送到企业微信群里面,本意是想让大家认真地做好巡检工作。但是,每天重复的截图实在是无聊,于是我花了几个小时写了一个脚本。脚本的作用是从grafana获取监控图片,并使用企业微信的报警机器人发送到微信群,实现自动化功能。使用Grafana Image Renderer 生成渲染的图片在Grafana 7.0之后,Grafana 官方提供了一个插件:Grafana Image Renderer,通过这个插件,用户可以

2021-04-15 13:13:58 5152 1

原创 从实际案例聊聊Java应用因为Eden区设置不当导致的慢GC问题

JVM的内存结构在虚拟机中,不同的对象存活的时间是不一样的,为了区别出不同年龄的对象,更好的管理他们,目前主流的虚拟机采用都是分代算法。在JVM中,会内存划分为三块,分别是新生代,老年代,以及持久代。如图:其中新生代又划分为Eden、Survivor0、Survivor1 三个区,为什么要划分为三个区呢?这要从GC算法讲起。常见的GC算法标记-清除 标记-清除是最基础...

2020-09-16 14:41:56 92

原创 presto 上线430版本遇到的问题总结

起因公司使用了icebery存储数据,presto作为提供给用户查询的引擎,当前使用的版本对icebery支持较弱,存在读parquet异常问题,需要将版本升级到430。合并代码老版本我们当时为了支持hive的视图功能,以及其他一些功能,在原来版本的基础上做了一些代码更改,原本是我想两个版本库的代码直接合并的,后面灵哥跟我说,你可以直接使用git rebase 的功能,讲自己更改的代码...

2020-08-20 14:37:19 68

原创 [presto] 监控相关指标

集群相关:http://ip:port/v1/cluster{"runningQueries": 0, "blockedQueries": 0, "queuedQueries": 0, "activeCoordinators": 1, "activeWorkers": 5, "runningDrivers": 0, "totalAvailableProcessors": 40, ...

2020-06-30 16:22:00 71

原创 谈谈集群管理

最近在读《管理学》,作为搞技术的人,不能一心只写代码,有兴趣的话应该读读其他学科的书。本质来说,集群管理也是管理的一种,这篇文章,我想通过管理的基本只是扯两句关于集群管理上的理解。管理,划分为计划、组织、领导和控制。这四个方面概括了一个合格的管理者应该做什么,如何做。如果,你的领导心里只有计划的好,缺少组织、领导、控制的好,那就是在画大饼而已。这里,我试着从集群管理的角度,聊聊是怎么理解管理...

2020-05-04 09:24:13 49

原创 [HBase运维]使用importTSV导入tsv文件到HBase表中

起因在日常操作HBase的过程中,存在一些业务会把tsv文件导入到对应的HBase的要求,例如某个业务每天定期从数据库导出数据,我们负责接受到任务后,导入到对应的HBase表,上游再根据我们提供接口进行查询,导入流程如下:db ---> file.csv ---> HBase 集群用户查询流程如下:ndoe.js --> rest(hbase自带服务) --> HBa...

2020-03-31 13:44:39 87

原创 【HBase 运维】不停服务迁移方案汇总

迁移对于运维来说,是家常便饭,不停服迁移是对DBA的考验,下面汇总了目前了解到迁移方案:利用replication 和 snapshot 完成数据迁移, 业务自动切换步骤:建立两个集群的replication,主从(待迁移集群----> 新集群)在新集群新建跟老集群一样的表, 并开始同步暂停同步, 利用snapshot , 将老集群的表做一份快照, 例如表Alist_sna...

2020-03-29 18:57:10 88

原创 【HBase运维】利用开源工具搭建HBase监控系统

不管是作为运维还是开发,在排查故障或者进行性能调优的时候,监控都是必不可少的。一般我们讲监控,其实包括了metric监控和日志监控。这篇文章主要分享如何利用开源搭建HBase 的metric监控系统,而日志在初期可能没有那么重要,或者后期可以通过elk来实现。经过调研,大概有以下几种方案:实现gmetad的python插件,从gmond收集数据之后写opentsdb,报警可以采用bosun...

2020-03-29 18:54:23 57

原创 【HBase运维】跨版本迁移

问题来源目前公司运维着两个版本HBase,分别对应社区的94版本和1.1版本。从16年开始推广新版本,新版本在功能和性能上都比94好,未来方向也在新版本上,所以有些业务需要从94版本升级到新版本,如何解决业务版本升级是团队面临的一个问题?版本升级方案比较版本升级有两种方式,原地升级和迁移数据升级,原地升级就是直接在原来的集群从94版本升级到1.1版本,而另一种方式就是通过把数据从94版本迁移...

2020-03-29 18:51:59 59

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除