![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hbase
文章平均质量分 89
xuguokun1986
这个作者很懒,什么都没留下…
展开
-
为什么需要Secondary Index
对于HBase而言,如果想精确地定位到某行记录,唯一的办法是通过rowkey来查询。如果不通过rowkey来查找数据,就必须逐行地比较每一列的值,即全表扫瞄。对于较大的表,全表扫瞄的代价是不可接受的。但是,很多情况下,需要从多个角度查询数据。例如,在定位某个人的时候,可以通过姓名、身份证号、学籍号等不同的角度来查询,要想把这么多角度的数据都放到rowkey中几乎不可能(业务的灵活性不允许,对r转载 2017-09-11 10:37:31 · 3385 阅读 · 0 评论 -
hive array、map、struct使用
hive提供了复合数据类型:Structs: structs内部的数据可以通过DOT(.)来存取,例如,表中一列c的类型为STRUCT{a INT; b INT},我们可以通过c.a来访问域aMaps(K-V对):访问指定域可以通过["指定域名称"]进行,例如,一个Map M包含了一个group-》gid的kv对,gid的值可以通过M['group']来获取Arrays:array中的转载 2016-03-25 14:21:04 · 389 阅读 · 0 评论 -
[HBase] ERROR:org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
[HBase] ERROR:org.apache.hadoop.hbase.PleaseHoldException: Master is initializing mango@master:~/hadoop-1.1.2//bin$ hbase shell HBase Shell; enter 'help' for list of supported co转载 2016-02-27 16:48:36 · 2030 阅读 · 0 评论 -
时间序列数据库的秘密(3)——加载和分布式计算
加载如何利用索引和主存储,是一种两难的选择。选择不使用索引,只使用主存储:除非查询的字段就是主存储的排序字段,否则就需要顺序扫描整个主存储。 选择使用索引,然后用找到的row id去主存储加载数据:这样会导致很多碎片化的随机读操作。 没有所谓完美的解决方案。MySQL支持索引,一般索引检索出来的行数也就是在1~100条之间。如果索引检索出来很多行,很有可能MySQL会选择不使用索引转载 2016-03-12 12:40:16 · 454 阅读 · 0 评论 -
hbase编译打包
虽然hbase打包成功了,但是如果对源代码进行修改,如何编译?如何验证是不是修改成功了呢? 解决上面的问题的步骤如下: 1)首先采取个简单的办法对hbase-1.1.2的源码进行修改,修改办法是在hbase-client中的HTable.java中的进行如下操作:添加在/home/hadoop目录下创建test子目录的代码,代码标红部分原创 2016-02-27 15:02:18 · 2976 阅读 · 0 评论 -
hbase源码打包
1)源码下载http://archive.apache.org/dist/hbase/1.1.2/hbase-1.1.2-src.tar.gz 2)将hbase-1.1.2-src.tar.gz加压到/home/hadoop目录下 3)修改hbase-1.1.2目录下的pom.xml文件,具体修改如下:将1160行hadoop-two.version值修原创 2016-02-27 14:21:28 · 2132 阅读 · 0 评论 -
Hive over HBase和Hive over HDFS性能比较分析
环境配置:hadoop-2.0.0-cdh4.3.0 (4 nodes, 24G mem/node)hbase-0.94.6-cdh4.3.0 (4 nodes,maxHeapMB=9973/node)hive-0.10.0-cdh4.3.0 一、查询性能比较:query1:select count(1) from on_hdfs;selec转载 2016-03-23 10:39:31 · 381 阅读 · 0 评论 -
Hive整合HBase,操作HBase表
Hive整合HBase,操作HBase表HBase是被设计用来做k-v查询的,但有时候,也会遇到基于HBase表的复杂统计,写MR很不方便。Hive考虑到了这点,提供了操作HBase表的接口。关于Hive操作HBase表的原理,请参考我之前的博文: http://lxw1234.com/archives/2015/04/101.htm值得商榷的是,使转载 2016-03-23 10:35:10 · 674 阅读 · 0 评论 -
Hive学习之HiveServer2 JDBC客户端
HiveServer和HiveServer2都有两种模式,分别为嵌入式和单机服务器模式,对于嵌入式URI为"jdbc:hive://"或者"jdbc:hive2://",单机服务器模式的URI为"jdbc:hive://host:port/dbname"或者"jdbc:hive2://host:port/dbname"复制代码。HiveServer使用的JD转载 2016-03-21 19:53:05 · 1814 阅读 · 0 评论 -
hive与es之间实现数据交互
1、环境描述:hadoop集群环境:hadoop-2.6.0;3台集群环境hbase集群环境:habase-1.1.2 ;3台集群环境hive环境:hive-1.2.1;1台测试环境elasticsearch:elasticsearch-1.7.1测试环境2、下载hive与es之间数据交互的插件。说明:如果用ElasticSearch版本为2.1.0,必须使用elastic原创 2016-03-26 10:45:01 · 14839 阅读 · 0 评论 -
hive对第三方插件的集中管理
在上一篇博客发现一个问题:add jar file:///home、hadoop、xuguokun/elasticsearch-hadoop-2.2.0.jar;该方法只能在一个Terminal中起作用,当关闭当前Terminal再重新开启新的时,刚刚add jar引入的jar就不再起作用了。解决上述问题的方法:在hive的hive-site.xml进行配置,配置的原创 2016-03-28 09:34:04 · 1190 阅读 · 0 评论 -
深入HBase架构解析(一)
前记公司内部使用的是MapR版本的Hadoop生态系统,因而从MapR的官网看到了这篇文文章:An In-Depth Look at the HBase Architecture,原本想翻译全文,然而如果翻译就需要各种咬文嚼字,太麻烦,因而本文大部分使用了自己的语言,并且加入了其他资源的参考理解以及本人自己读源码时对其的理解,属于半翻译、半原创吧。HBase架构组成HBase采转载 2017-09-08 17:04:54 · 240 阅读 · 0 评论 -
org.apache.hadoop.hbase.TableNotFoundException: SYSTEM.CATALOG exception with phoenix 4.5.2
错误提示:org.apache.phoenix.exception.PhoenixIOException: SYSTEM.CATALOG at org.apache.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:108) at org.apache.phoenix.query.ConnectionQue原创 2017-04-20 15:43:00 · 7179 阅读 · 1 评论 -
ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet
遇到该错误1. 查看 Hbase master log, 发现2014-07-14 23:31:51,270 INFO [master:192.168.126.8:60000] util.FSUtils: Waiting for dfs to exit safe mode...退出 Hadoop 安全模式bin/hdfs dfsadmin -safemode leave成功解决。转载 2017-04-19 10:14:56 · 2889 阅读 · 0 评论 -
hbase日志出现Session expired异常排查方法
WARN org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper: Possibly transient ZooKeeper exception: org.apache.zookeeper.KeeperException$SessionExpiredException: KeeperErrorCode = Session expired for转载 2017-04-28 09:32:24 · 14275 阅读 · 0 评论 -
HBase -ROOT-和.META.表结构(region定位原理)
在HBase中,大部分的操作都是在RegionServer完成的,Client端想要插入,删除,查询数据都需要先找到相应的RegionServer。什么叫相应的RegionServer?就是管理你要操作的那个Region的RegionServer。Client本身并不知道哪个RegionServer管理哪个Region,那么它是如何找到相应的RegionServer的?本文就是在研究源码的基础上揭转载 2016-06-02 19:52:07 · 480 阅读 · 0 评论 -
笔者带你剖析大数据存储HBase特性
前言如今在软件开发领域,谈及大数据已经是家常便饭。笔者相信在未来几年内,大数据的运算和存储一定会成为企业关注的核心。在此普及一个概念,什么级别的数据才能称之为大数据?如果你存储在DB中的数据达到了PB或者单表过亿甚至几十亿行的时候,这就是大数据。传统的RDBMS架构的数据库,在特殊的应用场景下,处理一些半结构化的大数据时,渐渐变得力不从心,虽然构表建索引等一系列的检索优化机制,但仍然无法高转载 2016-06-02 11:30:00 · 878 阅读 · 0 评论 -
Hbase 布隆过滤器BloomFilter介绍
1、主要功能提高随机读的性能2、存储开销bloom filter的数据存在StoreFile的meta中,一旦写入无法更新,因为StoreFile是不可变的。Bloomfilter是一个列族(cf)级别的配置属性,如果你在表中设置了Bloomfilter,那么HBase会在生成StoreFile时包含一份bloomfilter结构的数据,称其为MetaBlock转载 2016-05-05 10:22:09 · 328 阅读 · 0 评论 -
Hive四种数据导入方式
Hive的几种常见的数据导入方式这里介绍四种:(1)、从本地文件系统中导入数据到Hive表;(2)、从HDFS上导入数据到Hive表;(3)、从别的表中查询出相应的数据并导入到Hive表中;(4)、在创建表的时候通过从别的表中查询出相应的记录并插入到所创建的表中。一、从本地文件系统中导入数据到Hive表先在Hive里面创建好表,如下:转载 2016-03-28 11:08:44 · 476 阅读 · 0 评论 -
HBase 系统架构
系统架构图 组成部件说明 Client: 使用HBase RPC机制与HMaster和HRegionServer进行通信 Client与HMaster进行通信进行管理类操作 Client与HRegionServer进行数据读写类操作 Zookeeper: Zookeeper Quorum存储-ROOT-表地址、HMaster地址转载 2016-03-09 20:24:02 · 337 阅读 · 0 评论 -
hbase与hive整合遇见的问题
1、环境说明Cenos6.5、hadoop-2.6.0、hbase-1.1.2、hive-1.2.1和zookeeper-3.4.62、整个hbase与hive前的准备工作1)搭建hadoop集群2)搭建zookeeper集群3)搭建habse集群4)安装hive(实验换境只是在集群的的Master节点安装了hive)5)更换hive的检索引擎,更换成MySql3、原创 2016-03-08 09:32:32 · 1417 阅读 · 0 评论 -
HBASE预先分配regions的实现
http://blog.csdn.net/yiboo/article/details/7284111前面写了HBASE通过预先创建regions,来平衡数据的负载,其中用到了hbase官方的example但是没有人告诉你怎么用自己试了试用法主要的就是如何分配rowkey start end之间的关系,因为我的数据的key是md5值,所以我使用了md5的两段分为300份publi转载 2016-02-18 16:51:33 · 473 阅读 · 0 评论 -
HBase 数据库检索性能优化策略
高性能 HBase 数据库本文首先介绍了 HBase 数据库基本原理及专用术语,然后介绍了 HBase 数据库发布的操作 API 及部分示例,重点介绍了 Scan 方法的操作方式,接着介绍了检索 HBase 数据库时的优化方案,最后通过一个示例总结了实际项目中遇到的检索速度慢的解决方案。4 评论:周 明耀, 技术爱好者、自由撰稿人, Hik Vi转载 2016-01-26 16:49:57 · 603 阅读 · 0 评论 -
深入理解HBase Memstore
MemStore是HBase非常重要的组成部分,深入理解MemStore的运行机制、工作原理、相关配置,对HBase集群管理以及性能调优有非常重要的帮助。HBase Memstore首先通过简单介绍HBase的读写过程来理解一下MemStore到底是什么,在何处发挥作用,如何使用到以及为什么要用MemStore。图一:Memstore Usage in HBase转载 2016-01-09 12:31:12 · 363 阅读 · 0 评论 -
HBase修改压缩格式及Snappy压缩实测分享
一、要点有关Snappy的相关介绍可参看Hadoop压缩-SNAPPY算法,如果想安装Snappy,可以参看Hadoop HBase 配置 安装 Snappy 终极教程。1. HBase修改Table压缩格式步骤2. 实测结果分享二、HBase修改Table压缩格式步骤修改HBase压缩算法很简单,只需要如下几步:1. hbase shell命令转载 2016-01-09 08:55:31 · 616 阅读 · 0 评论 -
HBase 系统架构
HBase是Apache Hadoop的数据库,能够对大型数据提供随机、实时的读写访问。HBase的目标是存储并处理大型的数据。HBase是一个开源的,分布式的,多版本的,面向列的存储模型。它存储的是松散型数据。HBase特性:1 高可靠性2 高效性3 面向列4 可伸缩5 可在廉价PC Server搭建大规模结构化存储集群HBase是Goog转载 2016-01-09 08:46:46 · 309 阅读 · 0 评论 -
HBase编程实例
摘要 在前文中安装了Hbase,通过Hbase shell可以进行一些操作,但是和实际的编程实例联系起来不方便,因此本文介绍有关Hbase编程的实例。目录[-]一、使用Eclipse开发HBase应用程序二、简要介绍HBaseJava API三、 HBase Java API简单实例四、总结摘要:在前文中安装了Hbase,通过Hbase转载 2016-01-25 20:53:54 · 479 阅读 · 0 评论 -
Apache HBase 2015年发展回顾与未来展望
编者按:高可用架构推出 2015 年度回顾系列文章,分享在架构领域具有典型意义的年度案例,本文由张虔熙分享。转载请注明来自高可用架构公众号「ArchNotes」。张虔熙,Hulu 网,专注于分布式存储和计算,HBase contributor。HBase 2015 年技术发展在 2015 年,HBase 迎来了一个里程碑——HBase转载 2016-01-22 15:58:00 · 668 阅读 · 0 评论 -
HBase应用:Table设计
背景知识HBase基本类型定义:Table:表 RowKey:行健,主键Column Family:列族,包含一个或者多个相关列Column:属于某一个columnfamily,familyName:columnName,每条记录可动态添加timestamp:每次操作对应的时间戳,支持用户自定义,默认为当前时间的毫秒值value:值,和timestamp一起支持多ver转载 2016-01-18 19:26:39 · 289 阅读 · 0 评论 -
Hbase过滤器的一些总结
HBase为筛选数据提供了一组过滤器,通过这个过滤器可以在HBase中的数据的多个维度(行,列,数据版本)上进行对数据的筛选操作,也就是说过滤器最终能够筛选的数据能够细化到具体的一个存储单元格上(由行键,列明,时间戳定位)。通常来说,通过行键,值来筛选数据的应用场景较多。1. RowFilter:筛选出匹配的所有的行,对于这个过滤器的应用场景,是非常直观的:使用BinaryComparat转载 2016-01-16 10:06:25 · 579 阅读 · 0 评论 -
数据导入方式
*). Client API实现借助HBase的Client API来导入, 是最简易学的方式.Configuration config = HBaseConfiguration.create(); // 配置hbase.zookeeper.quorum: 后接zookeeper集群的机器列表 config.set("hbase.zookeeper.quorum", "tw-nod转载 2016-01-26 17:45:36 · 544 阅读 · 0 评论 -
停止集群报错,pid不存在的问题
[HBase]停止集群报错,pid不存在的问题 停止HBase集群时报错如下: [plain] stopping hbasecat: /tmp/hbase-mango-master.pid: No such file or directory 原因是,默认情况下pid文件保存在/tmp目录下,/tmp目录下的文件很容易丢失,解决办法:在h原创 2016-01-27 15:55:49 · 775 阅读 · 0 评论 -
HBase -ROOT-和.META.表结构(region定位原理)
在HBase中,大部分的操作都是在RegionServer完成的,Client端想要插入,删除,查询数据都需要先找到相应的RegionServer。什么叫相应的RegionServer?就是管理你要操作的那个Region的RegionServer。Client本身并不知道哪个RegionServer管理哪个Region,那么它是如何找到相应的RegionServer的?本文就是在研究源码的基础上揭转载 2016-02-17 11:15:19 · 391 阅读 · 0 评论 -
Hbase 过滤器详解及一些代码测试示例
一、过滤器(Filter) 基础API中的查询操作在面对大量数据的时候是非常苍白的,这里Hbase提供了高级的查询方法:Filter。Filter可以根据簇、列、版本等更多的条件来对数据进行过滤,基于Hbase本身提供的三维有序(主键有序、列有序、版本有序),这些Filter可以高效的完成查询过滤的任务。带有Filter条件的RPC查询请求会把Filter分发到各个RegionSer原创 2016-02-03 14:00:47 · 2624 阅读 · 0 评论 -
Hbase分页实现
hbase分页功能的几种实现方案。分页功能是线上系统的常用功能,对hbase,有以下几个方案可以选择(抛砖引玉)。假设要查第N页,1页大小为M1 client分页,scan查到N*M条,过滤掉N*M-M条,返回M条。对于M,N较小时比较适合。2 自定义Filter,该filter可以传递offset(server端需要过滤的记录条数),在server端分页,注意,跨原创 2016-02-03 13:55:59 · 1235 阅读 · 1 评论 -
HBase编程入门实例
1、Table中Family和Qualifier的关系与区别就像用MySQL一样,我们要做的是表设计,MySQL中的表,行,列的在HBase已经有所区别了,在HBase中主要是Table和Family和Qualifier,这三个概念。Table可以直接理解为表,而Family和Qualifier其实都可以理解为列,一个Family下面可以有多个Qualifier,所以可以简单的理解为,HBas转载 2016-02-01 17:19:28 · 1573 阅读 · 0 评论 -
hbase学习几点梳理
一、HBASE 简介HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统"。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Ha转载 2016-02-15 10:47:10 · 350 阅读 · 0 评论 -
HBase 源码阅读之 读过程及scanner
看过Hbase 读流程的代码的同学 对scanner这个词应该不会陌生 Hbase 在读流程时 具体是怎么围绕scanner展开的,最近仔细地看了代码后算是弄清了 HBase中的scanner实例关系如下图 首先,无论是GET还是scan的读数据,都是从RegionScanner的next接口中获取 第二,scanner可分为两种InternalScanner转载 2016-03-01 20:39:42 · 901 阅读 · 0 评论 -
Window下搭建hbase开发环境
环境描述:1)三台虚拟机环境(192.168.174.129,192.168.174.130,192.168.174.131)2)其中192.168.174.129的主机名是Master,192.168.174.130的主机名是Slave1,192.168.174.131的主机名是Slave23)三台虚拟上分别部署了:hadoop、zookeeper和hbase4)其中192.16原创 2016-01-30 18:17:16 · 930 阅读 · 0 评论 -
Hbase原理、基本概念、基本架构
目录(?)[-]概述Hbase数据模型Hbase物理模型HBase架构及基本组件Hbase使用场景Hbase与HDFS对比参考文档概述HBase是一个构建在HDFS上的分布式列存储系统;HBase是基于Google BigTable模型开发的,典型的key/value系统;HBase是Apache Hadoop生态系统中的转载 2016-01-11 16:35:30 · 424 阅读 · 0 评论