HBase 笔记】的更多相关文章

早些时候学习hadoop的技术,我一直对里面两项技术倍感困惑,一个是zookeeper,一个就是Hbase了.现在有机会专职做大数据相关的项目,终于看到了HBase实战的项目,也因此有机会搞懂Hbase原理. 首先来点实在的东西,假如我们已经在服务器上部署好了Hbase应用,作为客户端或者说的具体点,本地开发环境如何编写程序和服务端的Hbase进行交互了? 下面我将展示这些,首先看工程的结构图,如下图所示: 接下来我们将hbase应用下lib文件夹里所有jar包都导入到工程lib目录下,还要把c…
一).什么情况下使用Hbase 1)传统数据库无法承载高速插入.大量读取. 2)Hbase适合海量,但同时也是简单的操作. 3)成熟的数据分析主题,查询模式确立不轻易改变. 二).现实场景 1.电商浏览历史 问题: 传统数据库 数据量很大,事情会变得复杂. Order by 消耗很多性能. 大量发生又无法分布式处理,顾客需要事实看到自己足迹,传统数据库无法使用缓存. Hbase 面向时间查询. 基于行健查询速度快,新产生数据存于内存中的memstore,完全没有IO开销. 分布式化解负荷. 思路…
自定义filter需要继承的类:FilterBase 类里面的方法调用顺序   方法名 作用 1 boolean filterRowKey(Cell cell) 根据row key过滤row.如果需要被过滤掉,返回true:需要返回给客户端,返回false 2 ReturnCode filterKeyValue(Cell v) ReturnCode在Filter接口中定义的枚举类型,决定是否要包括该cell对象(A way to filter based on the column family…
HBASE过滤器介绍: 所有的过滤器都在服务端生效,叫做谓语下推(predicate push down),这样可以保证被过滤掉的数据不会被传送到客户端. 注意:        基于字符串的比较器,如RegexStringComparator和SubstringComparator,比基于字节的比较器更慢,更消耗资源.因为每次比较时它们都需要将给定的值转化为String.截取字符串子串和正则式的处理也需要花费额外的时间. 过滤器本来的目的是为了筛掉无用的信息,所有基于CompareFilter的…
HBase总结:http://blog.csdn.net/lifuxiangcaohui/article/details/39997205  (very good) Spark使用Java读取hbase: http://my.oschina.net/132722/blog/196350 HBase dao:http://www.xuebuyuan.com/2047942.html HBase Scan类用法: http://www.cnblogs.com/linjiqin/archive/201…
1.使用hbase shell的时候运行命令执行失败 例如:在shell下执行 status,失败. 可能的原因:节点之间的时间差距过大 解决方法调整两个节点的时间,使二者一致,这里用了个比较笨的方法 使用date查看一个结点的时间,然后修改另一节点使二者一直,命令:date -s "24 OCT 2015 17:10:00" 其他的解决方法:http://my.oschina.net/agony/blog/324478 2.HBase的web页面打不开 原因:老版本的页面地址是mas…
过滤器 过滤器是GET或者SCAN时过滤结果用的,相当于SQL的where语句 HBase中的过滤器创建后会被序列化,然后分发到各个region server中,region server会还原过滤器并使用,这样scan中,不满足条件的结果不会返回客户端 值过滤器: (针对所有列) 创建valueFilter实例:    Filter filter=new ValueFilter(CompareFilter.CompareOp.EQUAL,new SubstringComparator("xxx…
阻塞急救: RegionServer内存设置太小: 解决方案: 设置Region Server的内存要在conf/hbase-env.sh中添加export HBASE_REGIONSERVER_OPTS=" $HBASE_REGIONSERVER_OPTS  -Xms8g -Xmx8g" HFile达到允许的最大数量: 解决方案: 调大hbase.hstore.blockingStoreFiles memstore大小达到阈值: 解决方案:略微调大hbase.hregion.mems…
Master/Region Server调优 JVM调优 默认的RegionServer内存是1G,而Memstore默认占40%,即400M,实在是太小了,可以通过HBASE_HEAPSIZE参数修改(CDH界面也可以修改) 1)通用调整,同时调整MASTER Region Server vim $HBASE_HOME/conf/hbase-env.sh export HBASE_HEAPSIZE=8G   ===> 会生效HBASE的所有实例,MASTER和Region Server 2)P…
数据模型 Namespace 表命名空间: 多个表分到一个组进行统一的管理,需要用到表命名空间 表命名空间主要是对表分组,对不同组进行不同环境设定,如配额管理  安全管理 保留表空间: HBase中有2个保留表空间是预先定义 HBase 系统表空间,用于HBase内部表 default: 哪些没有定义表空间的表都被分配到这个下面 Table 表:由一个或多个列族组成 Row 行:一行包含多个列,这些列通过列族分类 ColumnFamily 列族:列族是多个列的集合 Column Qualifie…
Hadoop 服务启动顺序: zookeeper ->journalnode->namenode -> zkfc -> datanode HBase Master WEB控制台: <Master>:60010 如果RegionServer正常启动,但是连接不上Master自己又停止,而Master/Region Server之间网络连接,端口可见性正常,多半是/etc/hosts内映射不正确或/etc/sysconfig/network内hostname设置有问题 HB…
cap理论: 一致性  可用性   可靠性 任何分布式系统只能最多满足上面2点,无法全部满足 NOSQL  = Not Only SQL = 不只是SQL HBase速度并不快,知识当数据量很大时它慢的不明显 HBase缺点: 数据分析是弱项,对于整个NOSQL生态圈,基本都不支持表关联 需求如下时不支持使用HBase: 主要需求是数据分析,比如做报表 单表数据量不超过千万 需求如下时使用HBase: 单表数据量超过千万,并发还挺高 数据分析需求弱,或不需要那么灵活/实时 宏观上看 HBase部…
参考资料:HBase权威指南 一行由若干列组成,若干列又构成一个列族一个列族的所有列存储在同一个底层的存储文件里,这个文件叫HFile列族的数量有限制:一个列族里列的数量没限制谓词删除:例如允许用户只保存过去一周HBase中扩展和负载均衡的基本单位是region,一张表初始只有一个region,region大小超过限制后会拆分region变成两个每个region只能由一个region服务器加载,每台region服务器可以同时加载多个regionHBase中有3个主要组件:客户端库.一台主服务器.…
一.什么是namespace 在RDBMS中有database的概念,用来对table进行分组,那么在HBase中当表比较多的时候如何对表分组呢,就是namespace,可以简单的把namespace理解为RDBMS中的database. 二.namespace相关操作 内置的namespace HBase有两个内置的namespace: hbase(main):009:0> list_namespace NAMESPACE default hbase 2 row(s) Took 0.0683…
工作中可能会有对HBase的复杂操作,我们现在对HBase的操作太简单了.复杂操作一般用HBaseScan操作,还有用框架对HBase进行复杂操作,iparler,sharker.我们说HBase是数据库,数据库是用来查询数据的,那么我们的数据怎么进入HBase呢,可以通过put,但是put有点儿慢,通常我们的数据都是位于hdfs中,我们期望把hdfs中的数据导入到HBase中,进行查询,下面就讲如何把HDFS中的数据导入到HBase,我们使用m/r导入,这也就是我们说的批量导入-BatchIm…
http://www.jb51.net/article/31172.htm 这个文章写得挺好 1.HBase的shell就和我们用Mysql的终端是一个意思,比如我们安装好Mysql,配置好了环境变量,命令行中输入mysql -uroot -p密码 就能直接进入mysql 的终端,在这里HBase也是一个意思. 如何进入HBase的终端呢,使用命令 hbase shell 进入命令行模式.在这里,我们能对HBase的操作是很有限的,在PPT19中,基本就包含了他百分之八九十的操作.没有复杂的查询…
吴超1.1 Hbase是Hadoop中的数据库,Hadoop还需要数据库吗?我们学的Hadoop是一个分布式的存储和计算的平台为什么要在他上面建一个数据库呢,数据库是干什么的呢,数据库是一个管理系统(DBMS),用来管理数据的,也就是说我们的数据是存储在磁盘中的,但是我们对这一部分的数据进行高效的查询操作的时候,那么你就得用数据库来做,为啥呢,因为我们通常见的数据库都是关系型数据库,他是支持SQL的,SQL是一个非常强大的查询语言,Hadoop存储的是海量数据,海量数据存储起来的目的是为了应用,…
吴超 1.1 Hbase是Hadoop中的数据库,Hadoop还需要数据库吗?我们学的Hadoop是一个分布式的存储和计算的平台 为什么要在他上面建一个数据库呢,数据库是干什么的呢,数据库是一个管理系统(DBMS),用来管理数据的,也就是 说我们的数据是存储在磁盘中的,但是我们对这一部分的数据进行高效的查询操作的时候,那么你就得用数据库来做 ,为啥呢,因为我们通常见的数据库都是关系型数据库,他是支持SQL的,SQL是一个非常强大的查询语言,Hadoop 存储的是海量数据,海量数据存储起来的目的是…
HBase 的机制里包含了许多优秀的算法,如 Region 定位.Region 分配.Region Server的上线和下线.Master 的上线和下线.在谈到这些之前,先把 HBase 的基本架构里的一些概念列在这里. 一.HBase组成 1.Client:利用 RPC 机制与 HMaster 和HRegionServer通信: 2.Zookeeper: 协调,避免 HMaster 单点问题:HMaster没有单点问题,HBase 中可以启动多个HMaster,通过 ZooKeeper 的 M…
系统是ubuntu 12.04 , hadoop版本是1.2.1 , hive版本是0.12 , hbase版本我忘记了,不好意思首先是配置好hostnamevi /etc/hosts写入你要配置的ip 和它的hostname这里我写入了192.168.19.129 ubuntu 给要部署hadoop的机器都互相配置信任关系,具体怎么玩,自己谷歌测试一下ssh user@hostname , 做到无需输入密码即可登录 给所有需要配置hadoop集群的机器,关闭防火墙service iptable…
1. 现有的三方包不能完全支持 - 官方:hbase-spark,不能设置 timestamp - unicredit/hbase-rdd:接口太复杂,不能同时支持多个 family 2. HFile 得是有序的,排序依据 KeyValue.KVComparator,于是我们自定义一个 Comparator,内部调用 KeyValue.KVComparator 3. 如果没有自定义 partitioner,极有可能出现以下异常ERROR: "java.io.IOException: Retry…
hbase 对于表的相关操作: 实现功能有:指定region创建,普通创建,删除,修改列族信息 package learm.forclass.testclass; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hado…
方法一: 设置终端退格键为ASCII 127 在XShell的界面中,设置 文件 --> 属性 --> 终端 --> 键盘 --> BACKSPACE键序列,改为ASCII 127即可. 方法二: 使用Ctrl+退格键 同时按下Ctrl+退格键可以删除. 方法三: 使用Ctrl+W发送信号删除整个单词 直接发送删除整个单词的信号,也可以删除,不过是一次删除整个单词,或者Ctrl+u.Ctrl+k等信号映射键都可以使用. 方法四: 倒着删除 将光标移到要删除的单词前面,倒着删除单词.…
背景:HBase主集群在生产环境已稳定运行有1年半时间,最大的单表region数已达7200多个,每天新增入库量就有百亿条,对HBase的认识经历了懵懂到熟的过程.为了应对业务数据的压力,HBase入库也由最初的单机多线程升级为有容灾机制的分布式入库,为及早发现集群中的问题,还开发了一套对HBase集群服务和应用全面监控的报警系统.总结下HBase优化(针对0.94版本)方面的一些经验也算对这两年HBase工作的一个描述. 相关资源:<HBase企业应用开发实战>,HBase笔记(工作中自己总…
一.HBase的安装配置 1.1 伪分布模式安装 伪分布模式安装即在一台计算机上部署HBase的各个角色,HMaster.HRegionServer以及ZooKeeper都在一台计算机上来模拟. 首先,准备好HBase的安装包,我这里使用的是HBase-0.94.7的版本,已经上传至百度网盘之中(URL:http://pan.baidu.com/s/1pJ3HTY7) (1)通过FTP将hbase的安装包拷贝到虚拟机hadoop-master中,并执行一系列操作:解压缩.重命名.设置环境变量 ①…
欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:张秀云 前言 最近在跟进Hbase的相关工作,由于之前对Hbase并不怎么了解,因此系统地学习了下Hbase,为了加深对Hbase的理解,对相关知识点做了笔记,并在组内进行了Hbase相关技术的分享,由于Hbase涵盖的内容比较多,因此计划分享2期,下面就是针对第一期Hbase技术分享整体而成,第一期的主要内容如下: 一.Hbase介绍二.Hbase的Region介绍三.Hbase的写逻辑介绍四.Hbase的故障恢复五.Hbas…
1.首先在Hbase中建立一张表,名字为student 参考 Hbase学习笔记——基本CRUD操作 一个cell的值,取决于Row,Column family,Column Qualifier和Timestamp Hbase表结构 2.往Hbase中写入数据,写入的时候,需要写family和column build.sbt libraryDependencies ++= Seq( "org.apache.spark" %% "spark-core" % "…
此文的目的: 1.重点理解Hbase的整体工作机制 2.熟悉编程api,能够用来写程序 1.  什么是HBASE 1.1.   概念特性 HBASE是一个数据库----可以提供数据的实时随机读写 HBASE与mysql.oralce.db2.sqlserver等关系型数据库不同,它是一个NoSQL数据库(非关系型数据库) * Hbase的表模型与关系型数据库的表模型不同: * Hbase的表没有固定的字段定义: * Hbase的表中每行存储的都是一些key-value对 * Hbase的表中有列…
HBASE 1 简介 1.1 官网 1.1.1 http://hbase.apache.org/ 1.1.2 Apache HBase™ is the Hadoop database, a distributed, scalable, big data store. Use Apache HBase™ when you need random, realtime read/write access to your Big Data 1.2 应用场景 1.2.1 https://www.zhihu…
近期接触HBase,看了HBase In Action的英文版.開始认为还行,做了些笔记.可是兴许看下去,越来越感觉到实战这本书比較偏使用上的细节,对于HBase的具体设计涉及得很少.把前三章的一些笔记帖一下.后面几章内容不打算整理了.并非说书内容不好. key-value存储.强一致性,多个RegionServer节点对client端是不暴露细节的 使用场景:典型的web-search, capture incremental data, ad. click stream, content s…