
hbase
快乐崇拜234
学习笔记
展开
-
hbase--walgroup源码分析
本文介绍hbase的walgroup原理及实现开启多wal默认情况下,一个regionserver只有一个wal文件。 在HBase-5699之后,可以配置多个wal,在hbase-site.xml中,添加以下配置,既可开启多wal(同一个RS服务中):<property> <name>hbase.wal.provider</name> &...原创 2020-01-20 14:29:00 · 1266 阅读 · 1 评论 -
Java对象占用堆内存大小计算
概述最近在看hbase源码,里面有对象占用内存大小的计算。正好笔记记录一下。一般来说,int占4个字节,long占8个字节,等等。但是对象在队中的存储不止其包含的字段所占用的空间,还包括对象头,对齐填充等信息。接下来就结合hbase源码分析一下对象在堆中的存储情况。原生类型(primitive type)的内存占用类型占用空间boolean在数组中占1个字节,单独使用...原创 2019-11-27 17:57:40 · 2073 阅读 · 0 评论 -
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 · 2416 阅读 · 0 评论 -
hbase 预分区Pre-splitting 解决热点问题
预分区在创建表时我们可以指定分区数量及规则等信息。最简单的方法是在创建表时指定分割点数组。 请注意,将字符串文字指定为拆分点时,它们将基于字符串的基础字节表示形式创建拆分点。 因此,当指定分割点“ 10”时,实际上是在指定字节分割点“ \ x31 \ 30”。分割点将定义n + 1个区域,其中n是分割点的数量。 第一个region包含从最小的可能rowkey到最大但不包括第一个分割点所有ro...原创 2019-11-05 19:59:17 · 1061 阅读 · 0 评论 -
hbase集群滚动重启Rolling Restart
概述在我们修改了regionserver的配置后,需要对某个或所有的regionserver进行重启。或者在集群升级到新的版本时进行滚动升级。以上都需要尽可能的不影响业务,集群保持存活可用。当然最简单的方法是停止整个集群,修改完后再重启,但是显然不适用。下面看看如何使用rolling-restart和graceful_stop来实现集群优雅滚动重启。Rolling Restart先看看...原创 2019-11-05 11:59:44 · 3521 阅读 · 1 评论 -
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:26:52 · 3901 阅读 · 0 评论 -
hbase扩容 缩容
初始化集群初始化集群:hadoop三个DataNode,HBASE集群只有一个regionserver。后面我们不停服的情况下,动态添加一个机器node4,在node4上启动Hregionserver服务。hbase动态扩容配置regionservers配置每台机器的regionservers,添加node4:[root@node1 conf]# cat regionservers...原创 2019-11-04 19:38:37 · 5361 阅读 · 0 评论 -
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:32:22 · 1891 阅读 · 0 评论 -
hadoop 动态扩容 缩容
初始化集群初始化集群:hadoop三个DataNode,HBASE集群只有一个regionserver。后面我们不停服的情况下,动态添加一个机器node4,在node4上启动DataNode和Hregionserver服务。hadoop动态扩容准备工作准备工作与新搭建集群类似,这里参考笔者另一篇博客Hadoop 2.8.5 完全分布式HA高可用安装(一)–环境准备安装java配...原创 2019-11-04 19:09:44 · 1262 阅读 · 0 评论 -
hbase源码调试
为了调试源码,我们最好只启动一个regionserver。hbase集群配置为了避免在调试过程中由于请求超时而导致地调试中断,可以适当的延长请求的超时时间,修改hbase-site.xml文件中的zookeeper.session.timeout和hbase.zookeeper.property.tickTime的参数值,其中,timeout应该取2-20倍tickTime之间的值。生产环境上...原创 2019-10-31 19:47:03 · 608 阅读 · 0 评论 -
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:31:41 · 1119 阅读 · 1 评论 -
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:27:33 · 1537 阅读 · 1 评论 -
phoenix5表结构变更,修改字段类型
概述众所周知,hbase中存储的数据都是二进制的字节数组,是没有数据类型的 ,所以这里的数据类型也就是说的Phoenix中的数据类型。在Phoenix中,有以下几张系统表,其中SYSTEM.CATALOG表保存了表的元数据信息SYSTEM:CATALOG SY...原创 2019-09-27 17:18:14 · 3397 阅读 · 0 评论 -
HBase 多租户:RegionServer Group
RegionServer Group 通过对 RegionServer 进行分组,不同的 RegionServer 分到不同的组。每个组可以按需挂载不同的表,并且当组内的表发生异常后,Region 不会迁移到其他的组。这样,每个组就相当于一个逻辑上的子集群,通过这种方式达到资源隔离的效果,降低管理成本,不必为每个高 SLA 的业务线单独搭集群。不过目前hbase的不同rsgroup之间还是有影响...原创 2019-09-11 16:57:22 · 1077 阅读 · 0 评论 -
hbase 数据迁移 : CopyTable
上一篇文章介绍了快照方式的迁移: hbase数据迁移:基于 hbase Snapshot。本文介绍基于CopyTable迁移。copyTable是于HBase数据迁移的工具之一,以表级别进行数据迁移。copyTable的本质也是利用MapReduce进行同步的,利用MR去scan原表的数据,然后把scan出来的数据写入put到目标集群的表。copyTable优点是使用方便,简单,可以集群内复...原创 2019-09-11 16:22:36 · 2417 阅读 · 0 评论 -
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 · 1221 阅读 · 0 评论 -
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 · 3500 阅读 · 0 评论 -
hbase 2.1 环境搭建--伪分布式模式 Pseudo-Distributed Local Install
文章目录概述概述上一篇介绍了hbase 2.1 环境搭建–独立模式 Standalone Mode独立模式的安装,本文介绍伪分布式安装(Pseudo-Distributed Local Install)。原创 2019-07-10 15:13:53 · 1058 阅读 · 0 评论 -
hbase版本与Hadoop版本支持关系(官方)
这里只是将官方的对应关系搬过来而已,官网地址 hbase官网地址。java–hbasehbase 2.X 的版本 至少需要java8的支持:hbase–hadoop打对号的是官方测试过的,功能齐全的,可放心使用。我们只需要使用打对号的即可,不要去尝试使用其他的版本,否则你可能会遇到一些意外的惊喜。...原创 2019-07-10 15:30:46 · 25061 阅读 · 1 评论 -
hbase 2.1 环境搭建--完全分布式模式 Advanced - Fully Distributed
文章目录概述概述本文介绍hbase 2.1.X的完全分布式部署原创 2019-07-18 17:25:08 · 1483 阅读 · 0 评论 -
使用最新的 hbase-client 2.1 操作 hbase
文章目录概述引入依赖配置文件编写测试代码概述springboot 2.1 集成 hbase2.1环境说明:hbase:2.1.5springboot:2.1.1.RELEASEhadoop :2.8.5java: 8+hadoop环境:Hadoop 2.8.5 完全分布式HA高可用安装(二)–环境搭建hbase环境:hbase 2.1 环境搭建–完全分布式模式 Advanced ...原创 2019-07-18 20:46:57 · 6922 阅读 · 3 评论 -
linux下scala安装部署
文章目录到scala官网 下载Scala,我这里下载的是scala-2.12.8.tgz版本。下载地址: https://www.scala-lang.org/download/2.12.8.html下载完成后,上传到Linux安装目录,tar -xzvf scala-2.12.8.tgz解压.配置环境变量vim /etc/profile:添加以下内容export SCALA_HO...原创 2019-07-23 17:35:57 · 877 阅读 · 0 评论 -
Flink1.8.1 集群部署
文章目录概述单机版部署HA部署概述首先需要安装scala环境,参照 linux下scala安装部署我使用的scala是 scala-2.12.8单机版部署到官网 https://flink.apache.org/downloads.html#apache-flink-181 下载最新的1.8.1版本的flink。接下来安装官方文档的操作,进行最简单的安装 https://ci.a...原创 2019-07-23 18:06:55 · 1663 阅读 · 1 评论 -
flink 读取kafka数据,并写入hbase
文章目录概述环境说明代码编写写入hbase概述环境说明scala: 2.12.8 linux下scala安装部署flink : 1.8.1 Flink1.8.1 集群部署kafka_2.12-2.2.0 kafka_2.12-2.2.0 集群部署hbase 2.1 hbase 2.1 环境搭建–完全分布式模式 Advanced - Fully Distributedhad...原创 2019-07-23 18:19:41 · 9826 阅读 · 5 评论 -
springboo2 集成 hbase 2
文章目录环境说明:springboo2 集成 hbase 2环境说明:hbase:2.1.5springboot:2.1.1.RELEASEhadoop :2.8.5java: 8+hadoop环境:Hadoop 2.8.5 完全分布式HA高可用安装(二)–环境搭建hbase环境:hbase 2.1 环境搭建–完全分布式模式 Advanced - Fully Distributed...原创 2019-07-19 10:29:02 · 1446 阅读 · 0 评论 -
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 · 1510 阅读 · 0 评论 -
Hbase 使用高可用 (HA)的hadoop集群,hbase.rootdir如何配置
文章目录问题描述解决办法问题描述在前面文章中搭建了高可用的hadoop集群,然后hbase使用这个集群的hdfs。但是我们d hbase.rootdir配置的仍然是写死的机器:<property> <name>hbase.rootdir</name> <value>hdfs://node1:9000/hbase&...原创 2019-07-22 11:40:53 · 11559 阅读 · 0 评论 -
Phoenix5.0 安装部署
文章目录概述Phoenix5.0 shell 安装Phoenix5.0 shell 使用使用Phoenix操作表phoenix shell下创建view映射hbase表概述现有hbase的查询工具有很多如:Hive,Tez,Impala,Shark/Spark,Phoenix等。phoenix是一个在hbase上面实现的基于hadoop的OLTP技术,具有低延迟、事务性、可使用sql、提供jd...原创 2019-07-22 15:21:12 · 5248 阅读 · 1 评论 -
hbase数据迁移:基于 hbase Snapshot
文章目录初始环境说明表迁移创建快照数据迁移恢复快照参考资料初始环境说明hbase有两个集群:集群A和集群B,这里是1.1.3版本,2.X版本还没有测试。集群A上使用Phoenix创建表:create table lbltest1 (id varchar PRIMARY KEY,account varchar ,passwd varchar);然后插入一些数据upsert into lb...原创 2019-07-31 14:29:11 · 2654 阅读 · 0 评论 -
使用Phoenix5 Java api操作HBase
文章目录引入依赖配置文件编写测试类建表插入记录查询引入依赖<dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> <version>2.1.5</version><...原创 2019-07-22 17:11:36 · 3676 阅读 · 1 评论 -
hbase 2.1 环境搭建--独立模式 Standalone Mode
文章目录概述jdkhbase 配置启动使用`hbase shell`命令行操作hbase新建表新增记录查看记录删除记录启用禁用表删除表概述本节介绍hbase的2.1版本的搭建过程。参考:hbase官方文档jdk笔者环境:centos 1511hbase-2.1.5jdk8(hbase2以上的版本要求jdk8)安装步骤:下载jdk-8u131-linux-x64.tar.gz,...原创 2019-07-09 18:26:17 · 1504 阅读 · 1 评论