Hbase
文章平均质量分 66
学习,维护
TracyGao01
保持专注
展开
-
HBase+Phoenix存储框架数据迁移
文章目录组件版本迁移方案迁移流程关于Phoenix的迁移组件版本HBasePhoenix迁移前1.14.7迁移后1.54.14迁移方案通过迁移HBase快照的形式进行数据迁移迁移流程创建快照hbase snapshot create -n snapshot_test -t test导出快照到HDFS的一个指定文件夹hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot原创 2020-12-16 22:00:23 · 626 阅读 · 0 评论 -
记一个坑:Could not update the table, killing server region because couldn‘t write to an table
Hbase版本:1.1.2文章目录问题问题原因注意问题Hbase Region Server Crash:Could not update the index table, killing server region because couldn’t write to an index table问题原因如果在删除hbase的某张表时,在没有完全drop掉之前,还有写入该表的操作的情况下,hbase会kill掉当前正在写入的region所在的region server注意如果确定要删除.原创 2020-12-03 13:57:21 · 437 阅读 · 0 评论 -
HBase Merge Region使用
文章目录Hbase Merge Region的两种形式Hbase Merge Region批量操作记一个坑Hbase Merge Region的两种形式merge_region‘e7560dd363783cc6bd9cddc68bbcd2f8’,‘4402af167c4261eb65b830afaf7e3d15’merge_region‘e7560dd363783cc6bd9cddc68bbcd2f8’,‘4402af167c4261eb65b830afaf7e3d15’,true加tr原创 2020-08-25 17:41:22 · 1360 阅读 · 0 评论 -
Hbase ERROR: Requested row out of range for doMiniBatchMutation
访问Hbase表时,遇到问题报错:Failed 2 actions: org.apache.hadoop.hbase.exceptions.FailedSanityCheckException: Requested row out of range for doMiniBatchMutation on HRegion C_VIP,7841550515151G61700013047NT,1554743634303.fa5125151452729737659ef06fc2bbeb., startKey='78原创 2020-05-10 21:11:37 · 1702 阅读 · 1 评论 -
CDH 5.15.0 hue 4.x 无法认证hbase thrift server
CDH版本:5.15.0hue版本:4.x问题描述,hue认证连接到Hbase Thrift Server时失败,报如下错误hue 3.x到hue 4.x有修复问题:https://issues.cloudera.org/browse/HUE-79003.x版本hbase设置:[hbase] # Comma-separated list of HBase Thri...原创 2018-11-01 17:42:09 · 1153 阅读 · 0 评论 -
apache phoenix如何关掉namespace功能
前言:apache phoenix开启namespace功能跟简单,但是开启了怎么关闭呢?官网:设置phoenix.schema.isNamespaceMappingEnabled参数生效后,不能回滚,但是我必须得改回去呀,改不回去影响业务呀,于是有了下边的方法 先来张官网的图:坑吧,一旦参数生效,不能回滚 怎么回滚,就是关掉这个namespace功能:1、把之前在hba...原创 2018-09-10 20:58:12 · 1502 阅读 · 0 评论 -
怎么规划hbase的集群资源
环境资源一、 hbase存储影响的参数 1、 每台服务器的region个数:20-200个 2、 每个region的大小:10G-30G hbase.hregion.max.filesize 最多可以存储的数据量差不多为200 * 30G * 3= 18T 二、 硬盘内存关系比 计算公式: Disk Size / Java Heap = RegionSize / Memsto...原创 2018-07-26 22:56:07 · 3423 阅读 · 0 评论 -
CMS GC - Hbase
写在前边:本文参考原文:HBase最佳实践-CMS GC调优GC阶段流程如下图: Minor GC 流程:如上图,对象初始化后被放入Young区的Eden区,当Eden区满了之后,会进行一次GC,清理掉没有引用的对象,将依然存活的对象移到S0区,并且回收Eden区空间,称为一次Minor GC,接着新对象进来,又会放入Eden区,满了之后会检查S0和Eden区存活的对象,将所...原创 2018-07-11 09:50:17 · 375 阅读 · 0 评论 -
Hbase 建表预分区
1、HexStringSplit (适用于16进制的 rowkey) hbase org.apache.hadoop.hbase.util.RegionSplitter M_OUTITEM HexStringSplit -c 30 -f info2、UniformSplit (任意形式rowkey) hbase org.apache.hadoop.hbase.util.RegionSpli...原创 2018-06-02 01:01:33 · 818 阅读 · 0 评论 -
StreamSets RDBMS2Hbase开发流程
SDC开发流程及名词解释 1、首先创建一个SDC的pipeline: 2、拖进来我们要用的组件(JDBC QUERY、HBASE) 3、我们可以在右边栏选择我们想用的组件 4、组件参数配置:(JDBC QUERY)第一步:配置错误记录的报错方式,选send to error第二步:配置JDBC页 jdbc连接正常配,下边用户认证...原创 2018-04-04 09:39:23 · 1201 阅读 · 5 评论 -
解决Hbase数据更新Phoenix对应索引表不更新问题
问题描述:用户访问的数据接口直接走Phoenix,Phoenix的表是映射hbase产生,Phoenix的表会建很多索引,这时候问题就出现了,正常通过接口直接写数据进Phoenix表,相应的索引表也是会更新的,但是直接写数据到底层hbase表,这时候对应的索引表是不会更新,从而影响正常的用户访问直接通过API把数据写入Phoeinx是正常的,如下图: 直接写数据到H...原创 2018-03-15 23:21:06 · 9140 阅读 · 22 评论 -
phoenix/hbase事务支持配置与使用
1、 下载对应集群版本的phoenix,地址http://mirrors.shu.edu.cn/apache/phoenix/phoenix支持的最新版本的CDH是5.11.2,很幸运,1月19号官方推出了这个版本,刚好解决了燃眉之急备注:如果不是CDH版本,直接下载上边对应的hbase版本应该就可以,这里的版本对应很重要,如果版本不匹配,会有各种jar包不匹配问题,...原创 2018-01-26 20:45:51 · 1789 阅读 · 2 评论 -
StreamSets 从传统关系型数据库Mysql到Hbase的实时数据采集(初试)
最近在研究StreamSets,因为它官网的标题就是处理复杂数据流,就想试一下,做了几个简单Demo之后,发现从传统关系型数据库到Hbase貌似经过很简单的操作就可以做到实时的数据采集:1、首先不管是什么环境,一定要先装好StreamSets,我用的的是CDH,直接在StreamSets的官网下载对应版本的parcel包,在CDH离线安装就可以了2、直接进入StreamSets...原创 2017-11-14 09:36:46 · 6058 阅读 · 9 评论 -
kettle oracle2hbase生产环境下的真实使用 (做到数据准实时采集)
Kettle实现oracle到hbase的数据抽取 本文采用kettle最新版本:7.1 (安装:下载下来后,直接解压就可以) cdh版本为5.11.0 一、 环境配置操作流程:(1) 由于最新版本的插件kettle7.1只能支持cdh5.10,所以我们要更改kettle的shim插件,主要操作就是替换jar包,如图:首先hadoop的j...原创 2017-10-25 10:28:39 · 3477 阅读 · 0 评论 -
zookeeper报错:Unable to start failover controller. Parent znode does not exist. Run with -formatZK fla
报错原因:我在做phoenix upsert 操作时,误操作,删除了来源表hbase的底层hdfs的数据,导致正在执行的phoenix任务挂掉,整个集群挂掉(由于hdfs的挂掉,导致的集群挂掉),如图:这里Failover Controller挂掉,看日志,发现是zookeeper一直无法正常启动,报错如下:解决:格式化zookeeperhdfs zkfc -formatZK...原创 2017-08-22 18:12:12 · 2198 阅读 · 0 评论 -
Kettle取代sqoop,实现hbase2mysql,mysql2hbase(小试)
背景:由于之前传统的数据库数据采集及集成到hbase,都在用sqoop(1.46),但是发现比较麻烦,虽然脚本很简单,但是还是比较繁琐,且发现各种bug,问题很多,就想采用kettle来做,本文档主要是对kettle可行性的调研本文采用kettle最新版本:7.1 (傻瓜式安装) cdh版本为5.11.0操作流程:由于最新版本的插件kettle7.1只能支持cdh5.10,...原创 2017-07-08 17:11:15 · 9743 阅读 · 0 评论 -
Hbase:hbase读写时与Zookeeper的TCP交互流程分析
操作系统版本:ubuntu:16.04Hadoop集群插件版本:CDH:5.15.0Hbase:1.2.0-cdh5.15.0分析方式:通过TCP抓包的方式看Client与Hbase交互时Zookeeper的角色作用步骤:1、安装抓包工具tcpdump,Wireshark (用tcpdump抓包,Wireshark分析)安装tcpdump:apt-get ins...原创 2019-04-28 20:52:36 · 1198 阅读 · 1 评论 -
HappyBase连接Hbase ThriftServer报错:thrift.transport.TTransport.TTransportException: TSocket read 0 byte
Hbase版本: 1.2问题:thrift.transport.TTransport.TTransportException: TSocket read 0 bytes解决问题参考:https://happybase.readthedocs.io/en/stable/api.html#happybase.Connection有问题的连接参数如下:HBASECONF = {'host...原创 2019-01-21 18:08:24 · 4049 阅读 · 4 评论 -
happyBase例子
参考路径:https://happybase.readthedocs.io/en/latest/1、安装模块pip install happybase2、root@BigData-Dev-1:~# pythonPython 2.7.6 (default, Nov 23 2017, 15:49:48)[GCC 4.8.4] on linux2Type "help",...原创 2018-09-06 16:12:41 · 402 阅读 · 1 评论 -
向hbase的rowkey中插入‘\x00’
由于场景需要,需要向hbase中插入包含‘\x00’的rowkey,例:起初以为直接以拼接字符串的形式往里插就可以,但是读源码发现hbase会对\做二进制转译,如下:‘\’会被转译为\x5c解决办法:我们在插入数据的时候直接以byte[] 的形式往hbase表插,代码如下: public class Test_DESC { public static voi...原创 2018-03-15 16:05:33 · 5641 阅读 · 3 评论 -
hbase做snapshot快照失败,导致原表数据重复,解决方法
问题描述:由于要对环境hbase表数据做备份,就选择hbase快照snapshot的形式,刚开始很稳定,每天spark任务都正常跑,数据也没什么问题,最近spark跑任务时发现hbase表数据有重复,对,你没听错,hbase有重复数据,奇怪吧,看日志时发现hbase表在做快照时报错,如下图:通过报错可以看出来是hbase表在做快照时底层的region有移动,移动就几种形式:split,co...原创 2018-01-15 17:10:00 · 1196 阅读 · 3 评论 -
hbase参数调优 hbase.hregion.max.filesize
hbase.hregion.max.filesize我们知道,hfile存储数据是按column family存储的,也就是任何一个列蔟存储值大于这个参数,都会发生hbase的split,这个值过大,读写hbase的速度会变慢,因为底层对hdfs的读写操作由于文件数量少,很难做到高并发,高吞吐,过小会发生频繁的文件split,split会使数据短暂offline,会对数据的访问有一原创 2017-12-11 11:44:07 · 8016 阅读 · 2 评论 -
记:Hbase一次令人头疼的宕机
宕机前日志:(分析集群在做什么) 图一:上图是hbase节点挂掉之前1秒的日志,由日志可以看出系统是在做compaction,也就是hbase底层数据原文件的合并,包括无效数据文件的删除,新增数据文件合并图二:从上边这幅图可以看出,同时在做合并删除的表不只一张,compaction是非常耗时切工作时很耗资源的操作,并且在做compaction时RS(Region ...原创 2017-10-30 17:36:05 · 1315 阅读 · 0 评论 -
spark hbase读写
1、通过hadoop API操作Hbaseimport org.apache.hadoop.hbase.HBaseConfigurationimport org.apache.hadoop.hbase.client.{Put, HTable}import org.apache.hadoop.hbase.mapreduce.TableInputFormatimport org.apache.spar...原创 2017-10-26 11:23:00 · 964 阅读 · 0 评论 -
hbase region not online 解决方法
异常情况:1、hbase异常中断,但依然有sqoop,kettle任务在做数据写入,导致部分region not on line2、phoenix索引rebuild,或phoenix对hbase做数据写入时异常中断,导致部分region not on line3 、hbase做重启操作后,做hbase表级别操作时延时报错,region not on line影响:整个hbase瘫...原创 2017-10-25 10:10:24 · 2257 阅读 · 0 评论 -
Hbase RegionServer简单调优(GC)
Full GC会导致hbase假死,hbase读写数据延迟,严重导致hbase与zookeeper失联,导致hbase regionserver挂掉解决:(1) 合理分配RegionServer的jvm内存,如果集群资源允许,可适当调大,这是最直接的(2)适当调整RegionServer处理请求的并发线程数,根据实际情况通过降低线程并发,来降低GC的压力 (3)打散reg...原创 2017-10-17 18:19:22 · 2609 阅读 · 0 评论 -
Hbase数据存储结构
HRegion:Hbase中的表的基本存储单元RegionServer:HBase提供数据服务的主要服务Store:HRegion中存储数据的单元,一个Region中的不同Store存储不同的列簇StoreFile:Store中的存储单元,存的是对应列簇的数据MemStore:Store中的存储及预处理单元,数据写入hbase表时,数据首先写入MemStore(内存),数据在Me...原创 2017-10-17 17:09:09 · 2191 阅读 · 0 评论