10 快乐崇拜234

尚未进行身份认证

开创光辉的程序员之路

等级
TA的排名 4k+

Java对象占用堆内存大小计算

概述最近在看hbase源码,里面有对象占用内存大小的计算。正好笔记记录一下。一般来说,int占4个字节,long占8个字节,等等。但是对象在队中的存储不止其包含的字段所占用的空间,还包括对象头,对齐填充等信息。接下来就结合hbase源码分析一下对象在堆中的存储情况。原生类型(primitive type)的内存占用类型占用空间boolean在数组中占1个字节,单独使用...

2019-11-27 17:57:40

hbase/hadoop异常:No lease on /hbase/archive/data/... File is not open for writing

问题描述我在进行hbase快照拷贝时报了以下错误:./hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot "MODEL.THIRD_PARTY_KV-11211752-snapshot" -copy-from hdfs://fromIP:9000/hbase -copy-to hdfs://toIP:9000/hbas...

2019-11-21 19:11:36

hbase 预分区Pre-splitting 解决热点问题

预分区在创建表时我们可以指定分区数量及规则等信息。最简单的方法是在创建表时指定分割点数组。 请注意,将字符串文字指定为拆分点时,它们将基于字符串的基础字节表示形式创建拆分点。 因此,当指定分割点“ 10”时,实际上是在指定字节分割点“ \ x31 \ 30”。分割点将定义n + 1个区域,其中n是分割点的数量。 第一个region包含从最小的可能rowkey到最大但不包括第一个分割点所有ro...

2019-11-05 19:31:49

hbase集群滚动重启Rolling Restart

概述在我们修改了regionserver的配置后,需要对某个或所有的regionserver进行重启。或者在集群升级到新的版本时进行滚动升级。以上都需要尽可能的不影响业务,集群保持存活可用。当然最简单的方法是停止整个集群,修改完后再重启,但是显然不适用。下面看看如何使用rolling-restart和graceful_stop来实现集群优雅滚动重启。Rolling Restart先看看...

2019-11-05 11:37:05

HBASE手动触发major_compact

定时执行脚本#!/bin/bashsource /etc/profilesh ./hbase shell <<EOFmajor_compact 'table_name'EOFmajor_compact 语法:#Compact all regions in a table:hbase> major_compact 't1' #Compact an entire...

2019-11-05 11:11:45

hbase扩容 缩容

初始化集群初始化集群:hadoop三个DataNode,HBASE集群只有一个regionserver。后面我们不停服的情况下,动态添加一个机器node4,在node4上启动Hregionserver服务。hbase动态扩容配置regionservers配置每台机器的regionservers,添加node4:[root@node1 conf]# cat regionservers...

2019-11-04 19:37:47

hbase 负载均衡

概述hbase 有多个regionserver,固需要负载均衡。本文讲述hbase的负载均衡如何使用。以下命令都是在hbase shell 控制台使用的。balance_switchhbase(main):001:0> help 'balance_switch'Enable/Disable balancer. Returns previous balancer state.Exa...

2019-11-04 19:26:54

hadoop 动态扩容 缩容

初始化集群初始化集群:hadoop三个DataNode,HBASE集群只有一个regionserver。后面我们不停服的情况下,动态添加一个机器node4,在node4上启动DataNode和Hregionserver服务。hadoop动态扩容准备工作准备工作与新搭建集群类似,这里参考笔者另一篇博客Hadoop 2.8.5 完全分布式HA高可用安装(一)–环境准备安装java配...

2019-11-04 17:47:40

hbase源码调试

为了调试源码,我们最好只启动一个regionserver。hbase集群配置为了避免在调试过程中由于请求超时而导致地调试中断,可以适当的延长请求的超时时间,修改hbase-site.xml文件中的zookeeper.session.timeout和hbase.zookeeper.property.tickTime的参数值,其中,timeout应该取2-20倍tickTime之间的值。生产环境上...

2019-10-31 19:41:15

hbase--cluster replication 源码分析

复制操作步骤准备两个集群,clusterA,clusterB .两个集群都建表 create table PERSON (id integer not null primary key,name varchar,age integer, sex INTEGER, val DOUBLE) compression = ‘snappy’, UPDATE_CACHE_FREQUENCY=30000...

2019-10-30 18:29:15

hbase --HLOG写入流程源码分析

hlog写入流程如果配置了属性hbase.wal.provide=multiwal,则一个RS会有多个HLOG。This parallelization is done by partitioning incoming edits by their Region,并行化是通过对region分区(分组)实现的,因此无法提高单个region的吞吐量。 具体分几个WAL,这个有待继续探究。HL...

2019-10-30 18:25:31

为什么ArrayBlockingQueue单锁实现,LinkedBlockingQueue双锁实现

首先看一下本人两篇源码解析:jdk11源码–LinkedBlockingQueue源码分析jdk11源码–ArrayBlockingQueue源码分析细心的同学会发现,ArrayBlockingQueue的实现是“单锁+两个condition”,而LinkedBlockingQueue是采用的“双锁+各自的condition”来实现的。两个类的作者都是Doug Lea,这是为什么呢?...

2019-10-30 17:08:53

LinkedBlockingQueue 和 ConcurrentLinkedQueue 的区别与联系

联系LinkedBlockingQueue 与 ConcurrentLinkedQueue 都是先进先出 FIFO的线程同步的队列。阻塞队列典型例子是 LinkedBlockingQueue适用阻塞队列的好处:多线程操作共同的队列时不需要额外的同步,另外就是队列会自动平衡负载,即那边(生产与消费两边)处理快了就会被阻塞掉,从而减少两边的处理速度差距。非阻塞队列典型例子是 Concurr...

2019-10-30 16:48:01

OKhttp3 简单使用

概述okhttp 官网:https://square.github.io/okhttp/HTTP是现代应用网络的方式。这就是我们交换数据和媒体的方式。有效地执行HTTP可以加快您的负载并节省带宽。OkHttp是一个默认有效的HTTP客户端:HTTP / 2支持允许对同一主机的所有请求共享套接字。连接池减少了请求延迟(如果HTTP / 2不可用)。透明GZIP缩小了下载大小。响应缓存...

2019-10-05 13:52:36

phoenix5表结构变更,修改字段类型

概述众所周知,hbase中存储的数据都是二进制的字节数组,是没有数据类型的 ,所以这里的数据类型也就是说的Phoenix中的数据类型。在Phoenix中,有以下几张系统表,其中SYSTEM.CATALOG表保存了表的元数据信息SYSTEM:CATALOG SY...

2019-09-27 16:49:25

HBase 多租户:RegionServer Group

RegionServer Group 通过对 RegionServer 进行分组,不同的 RegionServer 分到不同的组。每个组可以按需挂载不同的表,并且当组内的表发生异常后,Region 不会迁移到其他的组。这样,每个组就相当于一个逻辑上的子集群,通过这种方式达到资源隔离的效果,降低管理成本,不必为每个高 SLA 的业务线单独搭集群。不过目前hbase的不同rsgroup之间还是有影响...

2019-09-11 16:33:35

hbase 数据迁移 : CopyTable

上一篇文章介绍了快照方式的迁移: hbase数据迁移:基于 hbase Snapshot。本文介绍基于CopyTable迁移。copyTable是于HBase数据迁移的工具之一,以表级别进行数据迁移。copyTable的本质也是利用MapReduce进行同步的,利用MR去scan原表的数据,然后把scan出来的数据写入put到目标集群的表。copyTable优点是使用方便,简单,可以集群内复...

2019-09-11 16:03:44

Phoenix4.7 向 Phoenix 5.0 集群迁移数据

前面讲述了Phoenix hbase 的数据迁移:hbase数据迁移:基于 hbase Snapshot。但这个是相同版本的。但是我想要将Phoenix4.7创建的表的数据迁移到Phoenix5.0.0集群中(Phoenix5.0.0 hbase 2.1.5),数据迁移过去了,但是查询时只有pk, 其他数据查询不出来。问题排查:通过hbase shell 查看不通版本的数据格式,会发现col...

2019-08-07 19:59:10

hbase 多版本version

默认保存version数量测试SQLcreate table PERSON3 (id integer not null primary key,name varchar,age integer, sex INTEGER, val DOUBLE);创建成后,查看表结构信息:hbase(main):018:0> describe 'PERSON3'Table PERSON3 is E...

2019-08-06 13:06:49

Phoenix 5索引

文章目录增删改查phoenix shell下创建view映射hbase表退出Phoenixpsql.py 执行外部SQL文件创建表导入数据复杂SQL:计数平均值聚合Phoenix5.0 安装部署 搭建了Phoenix环境,本文介绍一下Phoenix的shell使用。增删改查下面演示一下创建表,插入语句,查询的操作。0: jdbc:phoenix:node1,node2,node3:2181...

2019-08-03 16:39:03

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。