Hbase(补充)】的更多相关文章

1.用sqoop 从mysql数据库导入数据到hbase时: 可以用    sqoop list-databases --connect jdbc:mysql://192.168.1.152:3306/ --username sqoop --password sqoop      测试是否可以连接到mysql数据库 2.hbase 命令时,无法删除打错的命令,解决办法:option——session options——Terminal——Enulation——选择Linux.       可以按…
环境:CentOS 6.6 64位    hbase 1.1.15  phoenix-4.7.0-HBase-1.1 一.前置环境: 已经安装配置好Hadoop 2.6和jdk 1.7 二.安装hbase 1.下载.解压 # wget http://archive.apache.org/dist/hbase/1.1.5/hbase-1.1.5-bin.tar.gz# tar -zxvf hbase--bin.tar.gz -C /usr/local/ # cd /usr/local/ # mv…
HBASE概念补充 HBase的工作方式: hbase中的表在行的方向上分隔为多个HRegion,分散在不同的RegionServer中 这样做的目的是在查询时可以将工作量分布到多个RegionServer中以提高速度 region由[startkey,endkey)表示 HRegion是hbase分布式存储和负载均衡的最小单元 要注意HRegion不在hdfs中,而是在RegionServer的内存中,在内存(其实也有数据在本地文件系统中,因为内存空间毕竟是有限的)中存储数据以提高查询性能,对…
本来这个内容是不单独讲的,但是因为上一个页面太大,导致Live Writer死机了,不能继续编辑了,所以就放弃了 这里要讲的是自定义filter,从FilterBase继承 public class CustomFilter extends FilterBase { private byte[] value = null; private boolean filterRow = true; public CustomFilter() { super(); } public CustomFilte…
前言: 作为Hadoop生态系统中重要的一员, HBase作为分布式列式存储, 在线实时处理的特性, 备受瞩目, 将来能在很多应用场景, 取代传统关系型数据库的江湖地位. 本篇主要讲述面向时间序列/面检索的应用场景时, 如何利用HBase的特性去处理和优化. 构造应用场景 某气象局对各个站点的信息进行采集和汇总, 这些信息包括站点id, 时间点, 采集要素(要素特别多). 然后对这些采集的数据, 提出如下检索需求: 1). 时间序列检索(检索出该站点的在某个时间范围内的全要素信息) 2). 面检…
因官方Book Performance Tuning部分章节没有按配置项进行索引,不能达到快速查阅的效果.所以我以配置项驱动,重新整理了原文,并补充一些自己的理解,如有错误,欢迎指正. 配置优化 zookeeper.session.timeout默认值:3分钟(180000ms)说明:RegionServer与Zookeeper间的连接超时时间.当超时时间到后,ReigonServer会被Zookeeper从RS集群清单中移除,HMaster收到移除通知后,会对这台server负责的region…
任何系统都会有各种各样的问题,有些是系统本身设计问题,有些却是使用姿势问题.HBase也一样,在真实生产线上大家或多或少都会遇到很多问题,有些是HBase还需要完善的,有些是我们确实对它了解太少.总结起来,大家遇到的主要问题无非是Full GC异常导致宕机问题.RIT问题.写吞吐量太低以及读延迟较大. Full GC问题之前在一些文章里面已经讲过它的来龙去脉,主要的解决方案目前主要有两方面需要注意,一方面需要查看GC日志确认是哪种Full GC,根据Full GC类型对JVM参数进行调优,另一方…
摘要:   在前篇博客里已经讲述了通过一个自定义 HBase Filter来获取数据的办法,在末尾指出此办法的性能是不能满足应用要求的,很显然对于如此成熟的HBase来说,高性能获取数据应该不是问题.下面首先简单介绍了搜索引擎的性能,然后详细说明了HBase与MySQL的性能对比,这里的数据都是经过实际的测试获得的.最后,给出了采用多线程批量从HBase中取数据的方案,此方案经过测试要比通过自定义Filter的方式性能高出很多. 关键词: HBase, 高性能, 获取数据, 性能对比, 多线程…
因官方Book Performance Tuning部分章节没有按配置项进行索引,不能达到快速查阅的效果.所以我以配置项驱动,重新整理了原文,并补充一些自己的理解,如有错误,欢迎指正. 配置优化 zookeeper.session.timeout 默认值:3分钟(180000ms) 说明:RegionServer与Zookeeper间的连接超时时间.当超时时间到后,ReigonServer会被Zookeeper从RS集群清单中移除,HMaster收到移除通知后,会对这台server负责的regi…
本文引用自:http://www.aboutyun.com/blog-61-62.html 最新版本: hadoop和hbase版本对应关系: Hbase    Hadoop 0.92.0 1.0.0 0.92.1 1.0.0 0.92.2 1.0.0 0.94.0 1.0.2 0.94.1 1.0.3 0.94.2 1.0.3 0.94.3 1.0.4 0.94.4 1.0.4 0.94.5 1.0.4 0.94.9 1.2.0 0.95.0 1.2.0 Hadoop与hive版本对应关系 h…
今天参加了一个关于HBase的分享,有一些内容是之前的知识的补充. 之前关于Hadoop家族,包括HBase的内容,可以参考:http://www.cnblogs.com/charlesblc/p/6014158.html HBase是三维存储和索引 (http://ronxin999.blog.163.com/blog/static/4221792020130109202973/) hbase所谓的三维有序存储的三维是指:rowkey(行主键),column key(columnFamily+…
Hbase总结(一)-hbase命令 下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令表达式 创建表 create '表名称', '列名称1','列名称2','列名称N' 添加记录 put '表名称', '行名称', '列名称:', '值' 查看记录 get '表名称', '行名称' 查看表中的记录总数 count  '表名称' 删除记录 delete  '表名' ,'行名称' , '列名称' 删除一张表 先要屏蔽该表,才能对…
http://jiajun.iteye.com/blog/945358 HBase如何存取多个版本的值? 废话少说,一般情况下使用Put的这个方法保存一个版本: /** * Add the specified column and value to this Put operation. * @param family family name * @param qualifier column qualifier * @param value column value */ public Put…
主要看Roger的文档,这里作为文档的补充 HFile的格式-HFile的基本结构 Trailer通过指针找到Meta index.Data index.File info. Meta index保存每一个元数据在HFile中的位置.大小.元数据的key值. Data index保存每一个数据块在HFile中的位置.大小.块第一个cell的key值. File Info保存HFile相关信息. Meta块保存的是HFile的元数据,比如布隆过滤器. Data块保存的为具体的数据,每个数据块有个M…
前言 1. 创建表:(由master完成) 首先需要获取master地址(master启动时会将地址告诉zookeeper)因而客户端首先会访问zookeeper获取master的地址 client和master通信,然后有master来创建表(包括表的列簇,是否cache,设置存储的最大版本数,是否压缩等). 2. 读写删除数据 client与regionserver通信,读写.删除数据 写入和删除数据时讲数据打上不同的标志append,真正的数据删除操作在compact时发生 3. 版本信息…
Client写入 -> 存入MemStore,一直到MemStore满 -> Flush成一个StoreFile,直至增长到一定阈值 -> 出发Compact合并操作 -> 多个StoreFile合并成一个StoreFile,同时进行版本合并和数据删除 -> 当StoreFiles Compact后,逐步形成越来越大的StoreFile -> 单个StoreFile大小超过一定阈值后,触发Split操作,把当前Region Split成2个Region,Region会下…
文不打算对这部分代码进行全面的解读,而是先对几个主要类的职能进行概述,然后再罗列一些有价值的重要细节. 第一部分:HBase Security 概述 HBase Security主要是基于User和User Group(Role)对表(或是更粒度的Family.Qualifer)进行安全检查(目前HBase Security暂不支持基于行的安全检查,但后续版本中会追加进来).在authentication方面,它主要是通过Kerberos来完成的.这部分不是HBase Security实现的重点…
关于MemStore的补充 在通过HStore.add向store中加入�一个kv时,首先把数据写入到memstore中.这一点没有什么说明: publiclongadd(finalKeyValue kv) { lock.readLock().lock(); try{ returnthis.memstore.add(kv); }finally{ lock.readLock().unlock(); } } 以上代码中调用memstore.add方法, longadd(finalKeyValue k…
对应 HBase 版本0.94.1,对照了开源的版本和工作使用的某发行版 问题:在 HBase shell 里面输入 flush 'table_or_region_name'之后,发生了什么?具体的实现是怎么样的?对于现有的某个表,我如何在做操作之前估算 flush 执行的时间? 1. HBase shell 入口 HBase shell 使用 ruby 实现,在 putty 敲hbase shell,调用的是${HBASE_HOME}/bin/hbase这个 bash 脚本,根据shell这个…
欢迎和大家交流技术相关问题:邮箱: jiangxinnju@163.com博客园地址: http://www.cnblogs.com/jiangxinnjuGitHub地址: https://github.com/jiangxincode知乎地址: https://www.zhihu.com/people/jiangxinnju 转自:http://jiajun.iteye.com/blog/899632 原文图片丢失,本文补充图片,优化排版,修正部分错误. 一.简介 History l sta…
前言:在系统中向hbase中插入数据时,常常通过设置region的预分区来防止大数据量插入的热点问题,提高数据插入的效率,同时可以减少当数据猛增时由于Region split带来的资源消耗.大量的预分区数量会导致hbase客户端缓存大量的分区地址,导致内存的增长,某些系统中一个JVM进程中会开启几十个独立的hbase客户端对象,同时会查询多张Hbase表,这样JVM进程就会缓存 (预分区数 X 表数 X Hbase客户端数=条记录). 有没有这种情况?有的,在本人的storm项目中,采用结合sp…
引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单机的搭建,是因为作为个人学习的话,单机已足以,好吧,说实话是自己的电脑不行,使用虚拟机实在太卡了... 整个的集群搭建是在公司的测试服务搭建的,在搭建的时候遇到各种各样的坑,当然也收获颇多.在成功搭建大数据集群之后,零零散散的做了写笔记,然后重新将这些笔记整理了下来.于是就有了本篇博文. 其实我在搭…
众所周知,ACID是指原子性(Atomicity),一致性(Consistency),隔离性(Isolation)和持久性(Durability). HBase对同一行数据的操作提供ACID保证.HBASE-3584支持多操作事务,HBASE-5229支持多行事务,但原理都是一样的. 那么,HBase中的ACID是如何工作的呢? HBase采用MVCC来实现ACID,同时HBase中没有混合读写事务.简单说来,HBase的ACID就是在各个RegionServer上维护一个我称之为"严格单调递增…
zookeeper是hbase集群的"协调器".由于zookeeper的轻量级特性,因此我们可以将多个hbase集群共用一个zookeeper集群,以节约大量的服务器.多个hbase集群共用zookeeper集群的方法是使用同一组ip,修改不同hbase集群的"zookeeper.znode.parent"属性,让它们使用不同的根目录.比如cluster1使用/hbase-c1,cluster2使用/hbase-c2,等等.       使用以上方法有一个现实的问题…
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>欢迎转载,转载请注明出处-VirgoArt,www.cnblogs.com 一.Web项目链接配置(这里可以优化成连接池)(关于构造,是为了满足JUnit测试需求) package com.pj.util; import java.io.IOException; imp…
一.前述 HBase优化能够让我们对调优有一定的理解,当然企业并不是所有的优化全都用,优化还要根据业务具体实施. 二.具体优化 1.表的设计  1.1 预分区 默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region足够大了才进行切分.一种可以加快批量写入速度的方法是通过预先创建一些空的regions,这样当数据写入HBase时,会按照region分区情况,在集群内做数据的负载均衡. publi…
§历史回顾 2018年岁末,李大胖朦胧中上了开往Hbase王国的车,伴着一声长鸣,列出缓缓驶出站台,奔向无垠的广袤. (图片来自于网络) 如不熟悉剧情的,可观看文章: 五分钟轻松了解Hbase列式存储 Hbase给初学者的“下马威” §生逢其时 随着改革开放的持续推进,移动互联网的长足发展,以及物联网出现,旧有体制下的一些东西已经不能很好的适应发展的需要,无论是壁垒森严且高冷的Oracle,亦或是左右逢源并可爱的MySQL,都表现出了心有余而力不足. 俗话说,一代天子一朝臣,代代都有追梦人.Hb…
因官方Book Performance Tuning部分章节没有按配置项进行索引,不能达到快速查阅的效果.所以我以配置项驱动,重新整理了原文,并补充一些自己的理解,如有错误,欢迎指正. 配置优化 zookeeper.session.timeout默认值:3分钟(180000ms)说明:RegionServer与Zookeeper间的连接超时时间.当超时时间到后,ReigonServer会被Zookeeper从RS集群清单中移除,HMaster收到移除通知后,会对这台server负责的region…
在我的博文<HBase——HMaster启动之一>.<HBase——HMaster启动之二>中已经详细介绍过HMaster在启动过程中调用的各种方法.下面,单就HRegionServer在启动过程中与HMaster的交互做一下深入分析. 首先,让我们来到HRegionServer.run,由于其也是间接实现了Runnable接口.因此,在这里,就从他的run方法开始分析.对于前面的preRegistrationInitialization方法我在这里并不打算讲,因为在我的博文<…
[每日五分钟搞定大数据]系列,HBase第四篇 这一篇你可以知道, HFile的内部结构? HBase读文件细粒度的过程? HBase随机读写快除了MemStore之外的原因? 上一篇中提到了Hbase的数据以HFile的形式存在HDFS, 物理存储路径是: NameSpace->Table->Region->CF->HFile 这一篇我们来说下这个HFile,把路径从HFile开始再补充一下 HFile->Block->KeyValue. 顺便科普一下,HFile具体…