HBase笔记5(诊断)】的更多相关文章

阻塞急救: RegionServer内存设置太小: 解决方案: 设置Region Server的内存要在conf/hbase-env.sh中添加export HBASE_REGIONSERVER_OPTS=" $HBASE_REGIONSERVER_OPTS  -Xms8g -Xmx8g" HFile达到允许的最大数量: 解决方案: 调大hbase.hstore.blockingStoreFiles memstore大小达到阈值: 解决方案:略微调大hbase.hregion.mems…
早些时候学习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…
数据库恢复顾问 Data Recovery Advisor的命令行选项 1. 启动 RMAN 进程并连接到目标$ rman target=/ 2. 假设发生了某个错误,希望找出原因,使用 list failure 命令: RMAN> list failure; 如果没有错误,该命令将返回以下消息:no failures found that match specification 如果有错误,将显示如下更具说明性的消息:142 HIGH OPEN 15-JUL-07 One or more no…
过滤器 过滤器是GET或者SCAN时过滤结果用的,相当于SQL的where语句 HBase中的过滤器创建后会被序列化,然后分发到各个region server中,region server会还原过滤器并使用,这样scan中,不满足条件的结果不会返回客户端 值过滤器: (针对所有列) 创建valueFilter实例:    Filter filter=new ValueFilter(CompareFilter.CompareOp.EQUAL,new SubstringComparator("xxx…
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中,并执行一系列操作:解压缩.重命名.设置环境变量 ①…
声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记. 不要急于动手! 尽管可以利用各种工具和技术以及软件自身查找缺陷,但是你最重要的财富是你的智慧 一种调试方法 提出假设->设计实验->假设不成立,重新开始 采用不同类型的实验 进行几种不同类型的实验,但是每种实验必须有一个明确的目标.比如软件内部运行状态.软件的输入参数.本身编码逻辑. 实验必须起到验证的作用 实验是一种达到目的手段,而不是目的的本身.可以通过实验用来证明或者推翻假设.…
STL笔记(5)条款49:学习破解有关STL的编译器诊断信息 条款49:学习破解有关STL的编译器诊断信息 用一个特定的大小定义一个vector是完全合法的, vector<int> v(10);    // 建立一个大小为10的vector 而string在很多方面像vector,所以你可能希望可以这么做: string s(10);        // 常识建立一个大小为10的string 这不能编译.string没有带有一个int实参的构造函数.我的一个STL平台像这样告诉我那一点: e…
欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:张秀云 前言 最近在跟进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" % "…