hbase

Example for running mapreduce on hdfs files and storing reducer results in hbase table

只谈情不闲聊 提交于 2019-12-13 01:17:40
问题 Can somebody give one good example link for mapreduce with Hbase? My requirement is run mapreduce on hdfs file and store reducer output to hbase table. Mapper input will be hdfs file and output will be Text,IntWritable key value pairs. Reducers output will be Put object ie add reducer Iterable IntWritable values and store in hbase table. 回答1: Here is the code which will solve your problem Driver HBaseConfiguration conf = HBaseConfiguration.create(); Job job = new Job(conf,"JOB_NAME"); job

HBase的集群环境搭建

只谈情不闲聊 提交于 2019-12-13 00:30:14
注意事项:HBase强依赖zookeeper和hadoop,安装HBase之前一定要保证zookeeper和hadoop启动成功,且服务正常运行 第一步:下载对应的HBase的安装包 所有关于CDH版本的软件包下载地址如下 http://archive.cloudera.com/cdh5/cdh/5/ HBase对应的版本下载地址如下 http://archive.cloudera.com/cdh5/cdh/5/hbase-1.2.0-cdh5.14.0.tar.gz 第二步:压缩包上传并解压 将我们的压缩包上传到node01服务器的/export/softwares路径下并解压 cd /export/softwares/ tar -zxvf hbase-1.2.0-cdh5.14.0-bin.tar.gz -C …/servers/ 第三步:修改配置文件 第一台机器进行修改配置文件 cd /export/servers/hbase-1.2.0-cdh5.14.0/conf 修改第一个配置文件hbase-env.sh 注释掉HBase使用内部zk vim hbase-env.sh export JAVA_HOME=/export/servers/jdk1.8.0_141 export HBASE_MANAGES_ZK=false 修改第二个配置文件hbase-site.xml

Nutch in Hadoop 2.x

假如想象 提交于 2019-12-13 00:29:09
问题 I have a three-node cluster running Hadoop 2.2.0 and HBase 0.98.1 and I need to use a Nutch 2.2.1 crawler on top of that. But it only supports Hadoop versions from 1.x branch. By now I am able to submit a Nutch job to my cluster, but it fails with java.lang.NumberFormatException. So my question is pretty simple: how do I make Nutch work in my environment? 回答1: At the moment it's impossible to integrate Nutch 2.2.1 (Gora 0.3) with HBase 0.98.x. See: https://issues.apache.org/jira/browse/GORA

HBase基本介绍与安装

时光毁灭记忆、已成空白 提交于 2019-12-13 00:28:18
简介 hbase是bigtable的开源java版本。是建立在hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写nosql的数据库系统。 它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。 主要用来存储结构化和半结构化的松散数据。 Hbase查询数据功能很简单,不支持join等复杂操作,不支持复杂的事务(行级的事务) Hbase中支持的数据类型:byte[] 与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。 HBase中的表一般有这样的特点: 大:一个表可以有上十亿行,上百万列 面向列:面向列(族)的存储和权限控制,列(族)独立检索。 稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。 传统数据表 HBase的发展历程 HBase的原型是Google的BigTable论文,受到了该论文思想的启发,目前作为Hadoop的子项目来开发维护,用于支持结构化的数据存储。 官方网站: http://hbase.apache.org 2006年Google发表BigTable白皮书 2006年开始开发HBase 2008 HBase成为了 Hadoop的子项目

HBase与Hadoop的关系

心不动则不痛 提交于 2019-12-13 00:26:33
1、HDFS 为分布式存储提供文件系统 针对存储大尺寸的文件进行优化,不适用对HDFS上的文件进行随机读写 直接使用文件 数据模型不灵活 使用文件系统和处理框架 优化一次写入,多次读取的方式 2、HBase 提供表状的面向列的数据存储 针对表状数据的随机读写进行优化 使用key-value操作数据 提供灵活的数据模型 使用表状存储,支持MapReduce,依赖HDFS 优化了多次读,以及多次写 来源: CSDN 作者: 彭于晏郑州分晏 链接: https://blog.csdn.net/czxylzl/article/details/103517045

RDBMS(关系型数据库)与HBase的对比

一个人想着一个人 提交于 2019-12-13 00:21:38
1、关系型数据库 结构: 数据库以表的形式存在 支持FAT、NTFS、EXT、文件系统 使用Commit log存储日志 参考系统是坐标系统 使用主键(PK) 支持分区 使用行、列、单元格 功能: 支持向上扩展 使用SQL查询 面向行,即每一行都是一个连续单元 数据总量依赖于服务器配置 具有ACID支持 适合结构化数据 传统关系型数据库一般都是中心化的 支持事务 支持Join 2、HBase 结构: 数据库以region的形式存在 支持HDFS文件系统 使用WAL(Write-Ahead Logs)存储日志 参考系统是Zookeeper 使用行键(row key) 支持分片 使用行、列、列族和单元格 功能: 支持向外扩展 使用API和MapReduce来访问HBase表数据 面向列,即每一列都是一个连续的单元 数据总量不依赖具体某台机器,而取决于机器数量 HBase不支持ACID(Atomicity、Consistency、Isolation、Durability原子性、一致性、隔离性、耐久性) 适合结构化数据和非结构化数据 一般都是分布式的 HBase不支持事务 不支持SQL 不支持Join 来源: CSDN 作者: 彭于晏郑州分晏 链接: https://blog.csdn.net/czxylzl/article/details/103517068

HBase特征简要

筅森魡賤 提交于 2019-12-13 00:20:14
1)海量存储 Hbase适合存储PB级别的海量数据,在PB级别的数据以及采用廉价PC存储的情况下,能在几十到百毫秒内返回数据。这与Hbase的极易扩展性息息相关。正式因为Hbase良好的扩展性,才为海量数据的存储提供了便利。 2)列式存储 这里的列式存储其实说的是列族存储,Hbase是根据列族来存储数据的。列族下面可以有非常多的列,列族在创建表的时候就必须指定。 3)极易扩展 Hbase的扩展性主要体现在两个方面,一个是基于上层处理能力(RegionServer)的扩展,一个是基于存储的扩展(HDFS)。 通过横向添加RegionSever的机器,进行水平扩展,提升Hbase上层的处理能力,提升Hbsae服务更多Region的能力。 备注:RegionServer的作用是管理region、承接业务的访问,这个后面会详细的介绍通过横向添加Datanode的机器,进行存储层扩容,提升Hbase的数据存储能力和提升后端存储的读写能力。 4)高并发 由于目前大部分使用Hbase的架构,都是采用的廉价PC,因此单个IO的延迟其实并不小,一般在几十到上百ms之间。这里说的高并发,主要是在并发的情况下,Hbase的单个IO延迟下降并不多。能获得高并发、低延迟的服务。 5)稀疏 稀疏主要是针对Hbase列的灵活性,在列族中,你可以指定任意多的列,在列数据为空的情况下,是不会占用存储空间的。 来源:

Insert Spark dataframe into hbase

折月煮酒 提交于 2019-12-13 00:18:31
问题 I have a dataframe and I want to insert it into hbase. I follow this documenation . This is how my dataframe look like: -------------------- |id | name | address | |--------------------| |23 |marry |france | |--------------------| |87 |zied |italie | -------------------- I create a hbase table using this code: val tableName = "two" val conf = HBaseConfiguration.create() if(!admin.isTableAvailable(tableName)) { print("----------------------------------------------------------------------------

HBase底层原理

南笙酒味 提交于 2019-12-13 00:09:49
系统架构 Client 1 包含访问hbase的接口,client维护着一些cache来加快对hbase的访问,比如regione的位置信息。 Zookeeper 1 保证任何时候,集群中只有一个master 2 存贮所有Region的寻址入口 3 实时监控Region Server的状态,将Region server的上线和下线信息实时通知给Master 4 存储Hbase的schema,包括有哪些table,每个table有哪些column family Master职责 1 为Region server分配region 2 负责region server的负载均衡 3 发现失效的region server并重新分配其上的region 4 HDFS上的垃圾文件回收 5 处理schema更新请求 Region Server职责 1 Region server维护Master分配给它的region,处理对这些region的IO请求 2 Region server负责切分在运行过程中变得过大的region 可以看到,client访问hbase上数据的过程并不需要master参与(寻址访问zookeeper和region server,数据读写访问regione server),master仅仅维护者table和region的元数据信息,负载很低。 HBase的表数据模型 Row

HBase的shell操作

六眼飞鱼酱① 提交于 2019-12-13 00:01:14
HBase常用shell操作 进入HBase客户端命令操作界面 hbase shell 查看帮助命令 hbase ( main ) :001:0 > help 查看当前数据库中有哪些表 hbase ( main ) :002:0 > list 创建一张表 创建user表,包含info、data两个列族 hbase ( main ) :010:0 > create 'user' , 'info' , 'data' 或者 hbase ( main ) :010:0 > create 'user' , { NAME = > 'info' , VERSIONS = > '3' } , { NAME = > 'data' } 添加数据操作 向user表中插入信息,row key为rk0001,列族info中添加name列标示符,值为zhangsan hbase ( main ) :011:0 > put 'user' , 'rk0001' , 'info:name' , 'zhangsan' 向user表中插入信息,row key为rk0001,列族info中添加gender列标示符,值为female hbase ( main ) :012:0 > put 'user' , 'rk0001' , 'info:gender' , 'female' 向user表中插入信息,row