Apache HBase 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Apache HBase 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
Apache HBase 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
Apache HBase 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
Apache HBase 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache
开发语言 Java
操作系统 跨平台
软件类型 开源软件
所属分类 大数据数据存储
开源组织 Apache
地区 不详
投 递 者 不详
适用人群 未知
收录时间 2008-10-27

软件简介

HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。

HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。

上图描述了Hadoop EcoSystem中的各层系统,其中HBase位于结构化存储层,Hadoop HDFS为HBase提供了高可靠性的底层存储支持,Hadoop MapReduce为HBase提供了高性能的计算能力,Zookeeper为HBase提供了稳定服务和failover机制。

此外,Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单。 Sqoop则为HBase提供了方便的RDBMS数据导入功能,使得传统数据库数据向HBase中迁移变的非常方便。

HBase访问接口

1.       Native Java API,最常规和高效的访问方式,适合Hadoop MapReduce Job并行批处理HBase表数据

2.       HBase Shell,HBase的命令行工具,最简单的接口,适合HBase管理使用

3.       Thrift Gateway,利用Thrift序列化技术,支持C++,PHP,Python等多种语言,适合其他异构系统在线访问HBase表数据

4.       REST Gateway,支持REST 风格的Http API访问HBase, 解除了语言限制

5.       Pig,可以使用Pig Latin流式编程语言来操作HBase中的数据,和Hive类似,本质最终也是编译成MapReduce Job来处理HBase表数据,适合做数据统计

6.       Hive,当前Hive的Release版本尚没有加入对HBase的支持,但在下一个版本Hive 0.7.0中将会支持HBase,可以使用类似SQL语言来访问HBase

HBase数据模型

Table & Column Family

Row Key Timestamp Column Family
URI Parser
r1 t3 url=http://www.taobao.com title=天天特价
t2 host=taobao.com  
t1    
r2 t5 url=http://www.alibaba.com content=每天…
t4 host=alibaba.com  

Ø  Row Key: 行键,Table的主键,Table中的记录按照Row Key排序

Ø  Timestamp: 时间戳,每次数据操作对应的时间戳,可以看作是数据的version number

Ø  Column Family:列簇,Table在水平方向有一个或者多个Column Family组成,一个Column Family中可以由任意多个Column组成,即Column Family支持动态扩展,无需预先定义Column的数量以及类型,所有Column均以二进制格式存储,用户需要自行进行类型转换。

Table & Region

当Table随着记录数不断增加而变大后,会逐渐分裂成多份splits,成为regions,一个region由[startkey,endkey)表示,不同的region会被Master分配给相应的RegionServer进行管理:

-ROOT- && .META. Table

HBase中有两张特殊的Table,-ROOT-和.META.

Ø  .META.:记录了用户表的Region信息,.META.可以有多个regoin

Ø  -ROOT-:记录了.META.表的Region信息,-ROOT-只有一个region

Ø  Zookeeper中记录了-ROOT-表的location

Client访问用户数据之前需要首先访问zookeeper,然后访问-ROOT-表,接着访问.META.表,最后才能找到用户数据的位置去访问,中间需要多次网络操作,不过client端会做cache缓存。

MapReduce on HBase

在HBase系统上运行批处理运算,最方便和实用的模型依然是MapReduce,如下图:

HBase Table和Region的关系,比较类似HDFS File和Block的关系,HBase提供了配套的TableInputFormat和TableOutputFormat API,可以方便的将HBase Table作为Hadoop MapReduce的Source和Sink,对于MapReduce Job应用开发人员来说,基本不需要关注HBase系统自身的细节。

HBase系统架构

Client

HBase Client使用HBase的RPC机制与HMaster和HRegionServer进行通信,对于管理类操作,Client与HMaster进行RPC;对于数据读写类操作,Client与HRegionServer进行RPC

Zookeeper

Zookeeper Quorum中除了存储了-ROOT-表的地址和HMaster的地址,HRegionServer也会把自己以Ephemeral方式注册到 Zookeeper中,使得HMaster可以随时感知到各个HRegionServer的健康状态。此外,Zookeeper也避免了HMaster的 单点问题,见下文描述

HMaster

HMaster没有单点问题,HBase中可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master运行,HMaster在功能上主要负责Table和Region的管理工作:

1.       管理用户对Table的增、删、改、查操作

2.       管理HRegionServer的负载均衡,调整Region分布

3.       在Region Split后,负责新Region的分配

4.       在HRegionServer停机后,负责失效HRegionServer 上的Regions迁移

HRegionServer

HRegionServer主要负责响应用户I/O请求,向HDFS文件系统中读写数据,是HBase中最核心的模块。

HRegionServer内部管理了一系列HRegion对象,每个HRegion对应了Table中的一个Region,HRegion中由多 个HStore组成。每个HStore对应了Table中的一个Column Family的存储,可以看出每个Column Family其实就是一个集中的存储单元,因此最好将具备共同IO特性的column放在一个Column Family中,这样最高效。

HStore存储是HBase存储的核心了,其中由两部分组成,一部分是MemStore,一部分是StoreFiles。MemStore是 Sorted Memory Buffer,用户写入的数据首先会放入MemStore,当MemStore满了以后会Flush成一个StoreFile(底层实现是HFile), 当StoreFile文件数量增长到一定阈值,会触发Compact合并操作,将多个StoreFiles合并成一个StoreFile,合并过程中会进 行版本合并和数据删除,因此可以看出HBase其实只有增加数据,所有的更新和删除操作都是在后续的compact过程中进行的,这使得用户的写操作只要 进入内存中就可以立即返回,保证了HBase I/O的高性能。当StoreFiles Compact后,会逐步形成越来越大的StoreFile,当单个StoreFile大小超过一定阈值后,会触发Split操作,同时把当前 Region Split成2个Region,父Region会下线,新Split出的2个孩子Region会被HMaster分配到相应的HRegionServer 上,使得原先1个Region的压力得以分流到2个Region上。下图描述了Compaction和Split的过程:

在理解了上述HStore的基本原理后,还必须了解一下HLog的功能,因为上述的HStore在系统正常工作的前提下是没有问题的,但是在分布式 系统环境中,无法避免系统出错或者宕机,因此一旦HRegionServer意外退出,MemStore中的内存数据将会丢失,这就需要引入HLog了。 每个HRegionServer中都有一个HLog对象,HLog是一个实现Write Ahead Log的类,在每次用户操作写入MemStore的同时,也会写一份数据到HLog文件中(HLog文件格式见后续),HLog文件定期会滚动出新的,并 删除旧的文件(已持久化到StoreFile中的数据)。当HRegionServer意外终止后,HMaster会通过Zookeeper感知 到,HMaster首先会处理遗留的 HLog文件,将其中不同Region的Log数据进行拆分,分别放到相应region的目录下,然后再将失效的region重新分配,领取 到这些region的HRegionServer在Load Region的过程中,会发现有历史HLog需要处理,因此会Replay HLog中的数据到MemStore中,然后flush到StoreFiles,完成数据恢复。

HBase存储格式

HBase中的所有数据文件都存储在Hadoop HDFS文件系统上,主要包括上述提出的两种文件类型:

1.       HFile, HBase中KeyValue数据的存储格式,HFile是Hadoop的二进制格式文件,实际上StoreFile就是对HFile做了轻量级包装,即StoreFile底层就是HFile

2.       HLog File,HBase中WAL(Write Ahead Log) 的存储格式,物理上是Hadoop的Sequence File

HFile

下图是HFile的存储格式:

首先HFile文件是不定长的,长度固定的只有其中的两块:Trailer和FileInfo。正如图中所示的,Trailer中有指针指向其他数 据块的起始点。File Info中记录了文件的一些Meta信息,例如:AVG_KEY_LEN, AVG_VALUE_LEN, LAST_KEY, COMPARATOR, MAX_SEQ_ID_KEY等。Data Index和Meta Index块记录了每个Data块和Meta块的起始点。

Data Block是HBase I/O的基本单元,为了提高效率,HRegionServer中有基于LRU的Block Cache机制。每个Data块的大小可以在创建一个Table的时候通过参数指定,大号的Block有利于顺序Scan,小号Block利于随机查询。 每个Data块除了开头的Magic以外就是一个个KeyValue对拼接而成, Magic内容就是一些随机数字,目的是防止数据损坏。后面会详细介绍每个KeyValue对的内部构造。

HFile里面的每个KeyValue对就是一个简单的byte数组。但是这个byte数组里面包含了很多项,并且有固定的结构。我们来看看里面的具体结构:

开始是两个固定长度的数值,分别表示Key的长度和Value的长度。紧接着是Key,开始是固定长度的数值,表示RowKey的长度,紧接着是 RowKey,然后是固定长度的数值,表示Family的长度,然后是Family,接着是Qualifier,然后是两个固定长度的数值,表示Time Stamp和Key Type(Put/Delete)。Value部分没有这么复杂的结构,就是纯粹的二进制数据了。

HLogFile

上图中示意了HLog文件的结构,其实HLog文件就是一个普通的Hadoop Sequence File,Sequence File 的Key是HLogKey对象,HLogKey中记录了写入数据的归属信息,除了table和region名字外,同时还包括 sequence number和timestamp,timestamp是“写入时间”,sequence number的起始值为0,或者是最近一次存入文件系统中sequence number。

HLog Sequece File的Value是HBase的KeyValue对象,即对应HFile中的KeyValue,可参见上文描述。

结束

本文对HBase技术在功能和设计上进行了大致的介绍,由于篇幅有限,本文没有过多深入地描述HBase的一些细节技术。目前一淘的存储系统就是基于HBase技术搭建的,后续将介绍“一淘分布式存储系统”,通过实际案例来更多的介绍HBase应用。

介绍内容来自:http://www.searchtb.com/2011/01/understanding-hbase.html

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (3)

加载中
打分: 力荐
Rowkey 设计真可以单独当一门学问来研究哇!
2018/01/20 14:28
回复
举报
打分: 力荐
该评论暂时无法显示,详情咨询 QQ 群:912889742
更多评论
发表于数据库专区
07/24 07:54

Apache HBase 1.7.1 发布,分布式存储系统

Apache HBase 1.7.1 已经发布。HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用 HBase 技术可在廉价 PC Server 上搭建起大规模结构化存储集群。 主要更新内容 当 storeFile 是参考文件时,/storeFile.jsp 显示 CorruptHFileException cacheBlock 中的 BucketCache NullPointerException 正确更新当前正在复制的 WAL 的位置。 Apache HBase 2.2.2 的连接中缺少几个模块 在分支 1 中禁用...

0
2
发表于数据库专区
2020/11/05 13:33

Apache HBase 2.3.3 发布

没投过票?千万别说你来过 OSC https://www.oschina.net/project/top_cn_2020 Apache HBase 2.3.3 发布了,该版本是 HBase 2.3.x 系列中的第三个补丁版本,旨在至提高 HBase 的稳定性和可靠性。 本次更新内容包括: 增加夜间工作的超时值 添加 RecoveredEditsPlayer 将 java.io.tmpdir 设置为项目构建目录 将 MR 计数器添加到 WALPlayer 详细更新信息请查看:https://downloads.apache.org/hbase/2.3.3/RELEASENOTES.md...

1
2
发表于AI & 大数据专区
2020/09/29 07:26

Apache HBase 2.3.2 发布,分布式存储系统

Apache HBase 2.3.2 已经发布。HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用 HBase 技术可在廉价 PC Server 上搭建起大规模结构化存储集群。 这是 HBase 2.3.x 系列中的第二个修补程序版本,旨在继续提高 HBase 的稳定性和可靠性。 此版本包含自 2.3.1 版以来的 47 个 bug 修复与其它改进,包括修复 ConnectionManager#locateRegionInMeta 无限期地等待用户区域锁定等。 详情查看更...

0
6
发表于软件架构专区
2020/08/22 07:17

Apache HBase 2.3.1 发布,分布式存储系统

Apache HBase 2.3.1 已经发布。HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用 HBase 技术可在廉价 PC Server 上搭建起大规模结构化存储集群。 这是 HBase 2.3.x 系列中的第一个修补程序版本,旨在继续提高 HBase 的稳定性和可靠性。 此版本包含自 2.3.0 版以来的 50 个 bug 修复与其它改进。 详情可以查看这个更新通告。...

2
3
发表于AI & 大数据专区
2020/07/18 07:25

Apache HBase 2.3.0 发布,分布式数据库

Apache HBase 2.3.0 已发布,这是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用 HBase 技术可在廉价 PC Server 上搭建起大规模结构化存储集群。 HBase 2.3.0 是 HBase 2.x 系列中的第四个次要版本,旨在提升 HBase 的稳定性和可靠性。 值得关注的新功能包括: 对 JDK 11 的初步支持(要求 Hadoop 3.2.0+) Hadoop 版本增加到 2.10.0 和 3.1.2 ZooKeeper 版本增加到 3.5.7 围绕 HBCK2 的许多改进 HBase 客户端与 ...

1
4
发表于数据库专区
2020/03/04 07:35

Apache HBase 1.4.13 发布,分布式数据库

Apache HBase 1.4.13 发布了。HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用 HBase 技术可在廉价 PC Server 上搭建起大规模结构化存储集群。 这是一个维护版本,主要更新包括: Bug [HBASE-22096] - 当 storeFile 是参考文件时,/storeFile.jsp 显示 CorruptHFileException [HBASE-22441] - cacheBlock 中的 BucketCache NullPointerException [HBASE-23205] - 正确更新当前正在复制...

1
4
发表于数据库专区
2019/12/08 08:26

Apache HBase 2.1.8 发布,分布式存储系统

Apache HBase 2.1.8 发布了。HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用 HBase 技术可在廉价 PC Server 上搭建起大规模结构化存储集群。 HBase 2.1.8 继续重点提高 Apache 大数据生态的稳定性与可靠性。 此版本相比 2.1.7 包含约 59 个 bug 并进行了一些改进。 同时,由于 CVE-2019-16942 与 CVE-2019-16943 漏洞,jackson 现在也升级到了 2.9.10.1。 详情查看更新说明。...

1
5
发表于数据库专区
2019/12/03 07:01

Apache HBase 1.4.12 发布,分布式数据库

Apache HBase 1.4.12 发布了。HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用 HBase 技术可在廉价 PC Server 上搭建起大规模结构化存储集群。 这是一个维护版本,主要更新包括: HBASE-23227 - 将 jackson-databind 升级到 2.9.10.1 以避免最近的 CVE Bug [HBASE-18439] - o.a.h.h.chaos.actions.Action 的子类都使用相同的记录器 [HBASE-23149] - hbase shouldPerformMajorCompacti...

2
5
发表于AI & 大数据专区
2019/10/27 07:39

Apache HBase 1.4.11 发布,分布式数据库

Apache HBase 1.4.11 发布了。HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用 HBase 技术可在廉价 PC Server 上搭建起大规模结构化存储集群。 这是一个维护版本,主要更新包括: HBASE-22784 副本拓扑中的集群仅具有来自副本的传入写入从未清除 WAL。 HBASE-23101 批量加载文件的副本必须处理循环拓扑,包括对 Region 接口的二进制不兼容更改。 HBASE-23015 除非在 HBase REST 代理或...

0
2
发表于AI & 大数据专区
2019/02/20 08:21

Apache HBase 2.1.3 发布,分布式数据库

Apache HBase 2.1.3 发布了,HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用 HBase 技术可在廉价 PC Server 上搭建起大规模结构化存储集群。 HBase 2.1.3 旨在提高 Apache 大数据生态的稳定性与可靠性。 此版本将 thrift 依赖从 0.9.3 版本升级到了 0.12.0,修复了 CVE-2018-1320 漏洞,官方强烈建议所有使用 thrift 的 HBase 用户升级。 还带来了大约 60 个 bug 修复与其它改进。此...

0
11
2019/01/06 07:40

Apache HBase 2.0.4 发布,分布式数据库

Apache HBase 2.0.4 已发布,HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用 HBase 技术可在廉价 PC Server 上搭建起大规模结构化存储集群。 HBase 2.0.4 主要修复了 2.0.3 和 2.1.1 版本中 HBASE-21551 Bug。此外还包括 31 项 Bug 修复。 具体更新内容可分别查阅更改列表和发行说明 下载地址: http://hbase.apache.org/downloads.html...

0
12
发表于数据库专区
2018/12/04 07:21

Apache HBase 2.0.3 发布,分布式数据库

Apache HBase 2.0.3 已发布,HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用 HBase 技术可在廉价 PC Server 上搭建起大规模结构化存储集群。 HBase 2.0.3 是 HBase 2.0 系列中的最新维护版本,为 Hadoop 和 NoSQL 社区提供稳定,可靠的数据库。 此版本包括自 2.0.2 以来的 120 多项 bug 修复。 具体更新内容可分别查阅更改列表和发行说明。 下载地址: http://hbase.apache.org/down...

0
13
发表于数据库专区
2018/11/02 07:31

Apache HBase 2.1.1 发布,分布式数据库

Apache HBase 2.1.1 发布了,HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用 HBase 技术可在廉价 PC Server 上搭建起大规模结构化存储集群。 HBase 2.1.1 是 HBase 2.1 系列中的最新维护版本,为 Hadoop 和 NoSQL 社区提供稳定,可靠的数据库。 此版本包括自 2.1.0 以来的 3 个月内完成的 180 多个错误修复。 更新内容如下: 不兼容的变化 [HBASE-21158] 如果与 QualifierFilter 不匹...

0
5
发表于数据库专区
2018/09/27 07:46

Apache HBase 1.2.7 发布,分布式数据库

Apache HBase 1.2.7 发布了,HBase 1.2.7 是 HBase 1.2 系列中的最新维护版本,继续以向 Hadoop 和 NoSQL 社区提供稳定、可靠的数据库为目标。此版本包括 250 多个自 1.2.6 以来的错误修复。 下载地址 https://www.apache.org/dyn/closer.lua/hbase/1.2.7 官方建议以前 1.2.z 版本的所有用户升级到该系列的其中任何一个版本或稳定版本中的最新版本 —— 目前为 1.4.7。1.2.z 系列预计将在 2019 年春末停止支持。 详细更新请查看...

1
5
发表于数据库专区
2018/09/03 08:20

Apache HBase 2.0.2 发布,Hadoop 数据库

Apache HBase 2.0.2 发布了。HBase 2.0.2 是 HBase 2.0.x 系列中的第二个补丁版本,旨在实现提高 HBase 的稳定性和可靠性。 此版本包含自 2.0.1 以来大约 100 多个问题修复。 所有hbases-2.0.x 用户都应该升级到这个新版本。 此次更新信息如下: 允许通过 RpcServer 中的“hbase.ipc.trace.param.size”配置在 TRACE 级别打印到日志的 RPC 消息的长度。 之前使用前缀树编码的用户现在可以检查他们现有的 HFile 是否不再包含使用...

0
5
发表于数据库专区
2018/07/23 06:59

Apache HBase 2.1.0 发布,分布式数据库

Apache HBase 2.1.0 发布了,HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用 HBase 技术可在廉价 PC Server 上搭建起大规模结构化存储集群。 HBase 2.1.0 是 HBase 2.x 系列中的第二个次要版本,旨在提高 HBase 的稳定性和可靠性,主要更新内容如下: 基于 Procedure v2 的复制对等修改 串行复制 最小 Hadoop 版本已更改为 2.7.1 成功完成从 1.4.3 到 2.1.0 的滚动升级,这表明可以从...

5
5
发表于数据库专区
2018/05/03 06:45

Apache HBase 2.0.0 发布,Hadoop 数据库

Apache HBase 2.0.0 发布了,HBase 2.0.0 是 HBase 的第二个主要版本。 此次更新信息如下: 一个新的区域分配管理器(“AMv2”), 用于配置读取和/或写入路径以运行堆外的装置,以及可选的内存中压缩(“IMC”,A.K.A“Accordion”)设施。 MultiHFileOutputFormat。 基本的客户端推回机制。 将所有编辑的 log4j 类别添加到 META / ROOT。 基于 RegionServer 组的分配。 添加 ClusterManager 接口的 REST API 实现。 基于 mmap...

3
7
发表于数据库专区
2018/03/08 07:37

分布式数据库 Apache HBase 2.0.0 第二个 Beta 版发布

Apache HBase 2.0.0 的第二个 Beta 版已发布,Apache HBase 2.0.0-beta-2 是 2.0 版本的非生产预览版,包含之前 alpha 版本中的所有新特性 (new assignment manager, offheap read/write path, in-memory compactions 等),可点此查看 2.0 的完整新特性。 官方原计划是在 2 月底发布第一个 2.0.0 候选版之前,发布一个测试版 2.0.0-beta-2。目前 Beta 版推迟到现在发布,所以 RC 版亦将推迟发布。 目前一个已知的问题是 User A...

0
5
发表于AI & 大数据专区
2018/01/17 07:59

分布式数据库 Apache HBase 2.0.0 首个 Beta 版发布

Apache HBase 2.0.0 的首个 Beta 版已发布,Apache HBase 2.0.0-beta-1 是 2.0 版本的非生产预览版,包含之前 alpha 版本中的所有新特性 (new assignment manager, offheap read/write path, in-memory compactions 等),可点此查看 2.0 的完整新特性。 官方表示在 2 月底发布第一个 2.0.0 候选版之前,会再发布一个测试版 2.0.0-beta-2。它的重点是使用户可以尝试从 hbase-1.x 滚动升级到 hbase-2.x(以及发现运行 beta-1 的任...

0
5
发表了资讯
2017/12/21 07:07

分布式数据库 Apache HBase 1.4.0 带来新功能和改进

Apache HBase 1.4.0 已发布,该版本是 1.4 系列的首个维护版本,目标仍是为 Apache 大数据生态系统等周边带来稳定可靠的数据库。 作为次要版本,1.4.0 包含许多新功能和改进,但它们不会出现在旧代码的维护版本中,不过会确保与数据格式的完全兼容以及与旧版本客户端的互操作性。 此外,该版本还修复了大量的 bug,详情点此参阅。 下载地址:https://www.apache.org/dyn/closer.lua/hbase/1.4.0 HBase – Hadoop Database,是一...

1
19
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2020/08/18 14:00

HBase~hbase

对于springboot操作hbase来说,我们可以选择官方的依赖包hbase-client,但这个包的google类库很多时候会和你的项目里的google类库冲突,最后就是你的程序缺少类而无法启动,解决这个问题的方法很多,而最彻底的就是自己封装一个shade包,或者使用人家封装好的shade包,shade就是maven里的一个重写包的插件,非常好用。 依赖包 之前的原始包 <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</arti...

0
0
2019/03/06 09:45

Hbase访问方式之Hbase shell

Hbase的访问方式 1、Native Java API:最常规和高效的访问方式; 2、HBase Shell:HBase的命令行工具,最简单的接口,适合HBase管理使用; 3、Thrift Gateway:利用Thrift序列化技术,支持C++,PHP,Python等多种语言,适合其他异构系统在线访问HBase表数据; 4、REST Gateway:支持REST 风格的Http API访问HBase, 解除了语言限制; 5、MapReduce:直接使用MapReduce作业处理Hbase数据; 6、使用Pig/hive处理Hbase数据。 Hbase ...

0
0
发表于AI & 大数据专区
2019/06/30 22:44

HBase:HBase数据模型

hbase是列式存储,一行有一个row key,每行有多个时间戳代表不同的版本,有多个列族,每个列族有多个列,每个列可以存储多个数据 Row Key 决定一行数据 按照字典顺序排序的 Row Key只能存储64K的字节数据 Column Family列族&qualifier列 HBase表中的每个列都归属于某个列族,列族必须作为表模式(schema)定义的一部分预先给出。如 create 'test', 'course' 列名以列族作为前缀,每个"列族"都可以有多个列成员(column);如:c...

0
0
发表了博客
2018/08/17 22:12

HBase(七)Hbase过滤器

一、过滤器(Filter)   基础API中的查询操作在面对大量数据的时候是非常苍白的,这里Hbase提供了高级的查询方法:Filter。Filter可以根据簇、列、版本等更多的条件来对数据进行过滤,基于Hbase本身提供的三维有序(主键有序、列有序、版本有序),这些Filter可以高效的完成查询过滤的任务。带有Filter条件的RPC查询请求会把Filter分发到各个RegionServer,是一个服务器端(Server-side)的过滤器,这样也可以降低网络传输的压...

0
1
发表于数据库专区
2020/03/10 14:57

HBase

HBase的构成 物理上来说,HBase是由三种类型的服务器以主从模式构成的。 这三种服务器分别是:Region server,HBase HMaster,ZooKeeper。 其中Region server负责数据的读写服务。用户通过沟通Region server来实现对数据的访问。 HBase HMaster负责Region的分配及数据库的创建和删除等操作。 ZooKeeper作为HDFS的一部分,负责维护集群的状态(某台服务器是否在线,服务器之间数据的同步操作及master的选举等)。 另外,Hadoop ...

0
0
2019/12/07 17:44

Hbase

后台访问地址:http://192.168.200.151:16010/ COMMAND GROUPS: Group name: general Commands: status, table_help, version, whoami Group name: ddl Commands: alter, alter_async, alter_status, create, describe, disable, disable_all, drop, drop_all, enable, enable_all, exists, get_table, is_disabled, is_enabled, list, show_filters Group name: namespace Commands: alter_namespace,...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于数据库专区
2020/02/25 09:38

任务在spark 上运行,报错Container exited with a non-zero exit code 13. Error file: prelaunch.err. Last 4096 bytes

main : run as user is kafka main : requested yarn user is kafka Getting exit code file... Creating script paths... Writing pid file... Writing to tmp file /data/yarn/nm2/nmPrivate/application_1580700853621_6464/container_1580700853621_6464_02_000001/container_1580700853621_6464_02_000001.pid.tmp Writing to cgroup task files... Creating local dirs... Launching container... Getting exit code file...

2
0
发表了问答
2015/10/10 15:43

这个jar 包冲突,怎么解决

java 操作hbase ,操作put 不行 package com.mcsys.hbase; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.ZooKeeperConnectionException; import org.apache.hadoop.hbase.client.HBaseAdmin; import org.apache.hadoop.hbase.client.HTable; import org.apache.hadoop.hbase.client.Put; import org.apache...

8
0
发表了问答
2015/11/19 17:03

hbase shell 无法创建表 list 等命令使用也会出错

chx-1341310304 @ubuntu :~/hbase-0.98.14-hadoop2$ hbase shell 2015-11-19 00:47:07,223 INFO [main] Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available HBase Shell; enter 'help<RETURN>' for list of supported commands. Type "exit<RETURN>" to leave the HBase Shell Version 0.98.14-hadoop2, r4e4aabb93b52f1b0fef6b66edd06ec8923014dec, Tue Aug 25 22:35:44 PDT ...

1
0
发表了问答
2015/08/27 09:46

015-08-27 09:43:56,987 ERROR [main] regionserver.HRegionServerCommandLine: Region server exiting

015-08-27 09:43:56,987 ERROR [main] regionserver.HRegionServerCommandLine: Region server exiting java.lang.RuntimeException: HRegionServer Aborted at org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.start(HRegionServerCommandLine.java:68) at org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.run(HRegionServerCommandLine.java:87) at org.apache.hadoop.util.ToolRunner.run(T...

1
0
发表于AI & 大数据专区
2020/07/13 15:22

怎么一次执行两条 shell命令?

大家好,怎么一次执行两条 shell命令, 978 kinit -kt hbasenew.keytab hbase 979 hbase shell , 直接进入 hbase shell 认证

1
0
发表于数据库专区
2019/07/18 15:09

arm64 cpu架构机器上安装了hadoop、hbase,编写的程序无法运行,求大神指教

报错说找不到Bytes$LexicographicalComparerHolder$UnsafeCompare,但是这个类没有问题,程序在我的windows(x86_64)正常运行,到arm64或者mips64就无法运行 INFO [main] ClassPathXmlApplicationContext - Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@22927a81: startup date [Thu Jul 18 14:51:20 CST 2019]; root of context hierarchy INFO [main] XmlBeanDefinitionReader - Loadin...

1
0
发表于DevOps专区
2020/05/09 11:02

Spark on yarn 在创建Hbase的Connection时,报 ClassNotFoundException

ConnectionFactory.createConnection(configuration) 在执行以上方法时候报的错误: Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.client.backoff.ClientBackoffPolicyFactory$NoBackoffPolicy 经检查,在打包sparkstreaming时已经依赖上hbase-client。提交方式是yarn-client, 请问问题出在哪?...

5
0
发表了问答
2015/07/18 13:05

大家都在用什么样的hbase图形化客户端工具?

大家都在用什么样的hbase图形化客户端工具?有好用的工具给分享下……

6
1
发表于软件架构专区
2020/03/04 17:34

链接 Kerberos ,提醒我要 , Kerberos用户名 [Administrator]: 17:32:16.489 [ReadOnlyZKClient

Default-IPC-NioEventLoopGroup-1-1] DEBUG org.apache.hbase.thirdparty.io.netty.util.Recycler - -Dio.netty.recycler.maxCapacityPerThread: 32768 17:31:57.610 [Default-IPC-NioEventLoopGroup-1-1] DEBUG org.apache.hbase.thirdparty.io.netty.util.Recycler - -Dio.netty.recycler.maxSharedCapacityFactor: 2 17:31:57.610 [Default-IPC-NioEventLoopGroup-1-1] DEBUG org.apache.hbase.thirdparty.io.netty.util.Rec...

1
0
发表于AI & 大数据专区
2020/02/26 15:31

NoNodeException: KeeperErrorCode = NoNode for /hbase/hbaseid

org.apache.hadoop.hbase.client.ConnectionImplementation(line:529) : Retrieve cluster id failed java.util.concurrent.ExecutionException: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /hbase/hbaseid at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357) at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895) at org.a...

1
0
发表于开发技能专区
2019/12/17 15:53

hbase问题 GSSException: Invalid name provided (Mechanism level: KrbException: Cannot locate default realm)

failed on local exception: javax.security.sasl.SaslException: Failure to initialize security context [Caused by GSSException: Invalid name provided (Mechanism level: KrbException: Cannot locate default realm)] at org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithRetries(RpcRetryingCallerImpl.java:144) at org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:3084) ...

1
0
发表了问答
2014/11/25 17:13

使用java 开发连接 Hbase程序,出现连接之后永久等待

window下 开发的日志如下 14-11-25.17:10:28.904 [main-SendThread(CentOs-PC:2181)] INFO ClientCnxn - Opening socket connection to server CentOs-PC/192.168.56.102:2181. Will not attempt to authenticate using SASL (无法定位登录配置) 14-11-25.17:10:28.908 [main-SendThread(CentOs-PC:2181)] INFO ClientCnxn - Socket connection established to CentOs-PC/192.168.56.102:2181, initiating session 14-11-25.17:...

5
0
发表了问答
2015/09/09 17:24

java调hbase 出错了

15/09/09 02:01:34 INFO zookeeper.RecoverableZooKeeper: Process identifier=hconnection-0x4ff85c27 connecting to ZooKeeper ensemble=192.168.2.101:2181 15/09/09 02:01:34 INFO zookeeper.ZooKeeper: Client environment:zookeeper.version=3.4.6-1569965, built on 02/20/2014 09:09 GMT 15/09/09 02:01:34 INFO zookeeper.ZooKeeper: Client environment:host.name=master 15/09/09 02:01:34 INFO zookeeper.ZooKeeper...

7
0
发表于AI & 大数据专区
2019/07/04 13:43

maven-install-plugin 编译项目是失败了吗??怎么整?

"C:\Program Files\Java\jdk1.8.0_191\bin\java.exe" "-Dmaven.multiModuleProjectDirectory=D:\ra\DataX-master (2)\DataX-master" "-Dmaven.home=D:\Program Files\JetBrains\IntelliJ IDEA 2018.1.4\plugins\maven\lib\maven3" "-Dclassworlds.conf=D:\Program Files\JetBrains\IntelliJ IDEA 2018.1.4\plugins\maven\lib\maven3\bin\m2.conf" "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2018.1.4\lib\idea_rt.j...

2
0
2019/05/08 11:21

用户画像存储方案

1.用户数千万级 2.标签最高支持上万 3.标签会逐渐增多 4.支持依据多个标签进行查询,统计数量(秒级响应)(这是重点) 用什么存储能实现? Hbase 貌似不支持第4条 ES的话,数据量多了增加标签会很耗时 Neo4j?

1
1
2019/02/12 10:03

请教南京的小伙伴:java开发或者大数据开发环境怎么样

请教南京的小伙伴:java开发或者大数据开发环境怎么样(薪资、福利等)?有哪些好公司可以考虑?12年2月至今一直在深圳,前3年纯java,后4年java和大数据混合,工作能力对得起工龄。谢谢

9
0
2018/12/23 12:23

您好,Hive大数据导入Hbase,二进制数据类型如何导入

@王二铁 你好,想跟你请教个问题: 现在使用Hive生成HFile的方式导入Hbase, 数据类型为Int,Long等数据无法转成相应的Bytes存入Hbase,存到Hbase的数据为String 请问有什么方式可以导入,数据量有3000w左右使用逐条导入效率太慢。 生成HFile的语句如下。 create table child_hfile_tmp1(CHIL_CODE bigint, CHIL_NAME string,CHIL_BIRTHDAY bigint) stored as INPUTFORMAT 'org.apache.hadoop.mapred.TextInputForma' OUTPUTFOR...

3
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
3 评论
523 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部