HBASE - 技术教程文章

Hive&Hbase

1. 两者分别是什么? Apache Hive是一个构建在Hadoop基础设施之上的数据仓库。通过Hive可以使用HQL语言查询存放在HDFS上的数据。HQL是一种类SQL语言,这种语言最终被转化为Map/Reduce. 虽然Hive提供了SQL查询功能,但是Hive不能够进行交互查询--因为它只能够在Haoop上批量的执行Hadoop。 Apache HBase是一种Key/Value系统,它运行在HDFS之上。和Hive不一样,Hbase的能够在它的数据库上实时运行,而不是运行MapReduce任务。Hiv...

熟悉HBase基本操作【图】

1. 以下关系型数据库中的表和数据,要求将其转换为适合于HBase存储的表并插入数据:学生表(Student)(不包括最后一列)学号(S_No)姓名(S_Name)性别(S_Sex)年龄(S_Age)课程(course)2015001Zhangsanmale23 2015003Maryfemale22 2015003Lisimale24数学(Math)85 2. 用Hadoop提供的HBase Shell命令完成相同任务:列出HBase所有的表的相关信息;list 在终端打印出学生表的所有记录数据; 向学生表添加课程列族; 向...

HBase键值分片的简单运用【图】

1.基本原理介绍 HBase的存储是通过行键建立索引进行存储的,而且HBase只支持一级索引,因此只要通过行键才能很快的找到需要的数据。 HBase是一个分布式的系统,HBase通过行键的分片,把不同的数据存储在不同的主机上。 1).顺序分片 依据固定列值作为键,顺序的存入HBase数据库,一般以时间列为键值,这样有利于迅速读出同一台机器上相近时间的值 2).Hash分片 以一个或者多个列的值进行Hash计算,...

异常-Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): Permission denied: user=hdfs, access=WRITE, inode="/hbase":root:supergroup:drwxr-xr-x【代码】

1 详细异常Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): Permission denied: user=hdfs, access=WRITE, inode="/hbase":root:supergroup:drwxr-xr-xat org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.checkFsPermission(DefaultAuthorizationProvider.java:279)at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.check(...

HBase内部操作日志说明【代码】

版本:0.94-cdh4.2.11. Split Region[regionserver60020-splits-1397585864985] INFO org.apache.hadoop.hbase.regionserver.SplitRequest - Region split, META updated, and report to master. Parent=test_table,|u:21419463|1389789100286|9749216794103914,1391785640492.893d6a798767b8e819c1b205e291e89b., new regions: test_table,|u:21419463|1389789100286|9749216794103914,1397585864985.ad6da8441218fd62b2d4a2e01e2...

sparkStreaming向hbase写数据【代码】

在SparkStreaming中统计了数据之后,我们需要将结果写入外部文件系统。本文,以向Hbase中写数据,为例,说一下,SparkStreaming怎么向Hbase中写数据。首先,需要说一下,下面的这个方法。foreachRDD(func)最通用的输出操作,把func作用于从stream生成的每一个RDD。注意:这个函数是在 运行streaming程序的driver进程 中执行的。下面跟着思路,看一下,怎么优雅的向Hbase中写入数据向外部写数据 常见的错误:向外部数据库写数据,通...

hbase伪分布安装配置【代码】【图】

注意:在安装hbase或者hadoop的时候,要注意hadoop和hbase的对应关系。如果版本不对应可能造成系统的不稳定和一些其他的问题。在hbase的lib目录下可以看到hadoop对应jar文件,默认情况下hbase下lib的jar文件对应hadoop的相对稳定的版本。如果需要使用其他的hadoop版本,需要将hbase lib下的hadoopjar包,替换掉需要使用的hadoop版本 下载:http://archive.apache.org/dist/hbase/stable/(hbase下载历史版本) 配置环境变量######...

8.HBase安装【代码】【图】

一.解压tar -zxf hbase-2.1.0-bin.tar.gz -C /opt/apps 二.配置环境变量1.profile进入profilevi /etc/profile 添加export PATH=$PATH:/opt/apps/hbase-2.1.0/bin 刷新profilesource /etc/profile 三.配置进入conf文件进行配置cd /opt/apps/hbase-2.1.0/conf/ 1.hbase-envvi进入vi hbase-env.sh 更改或添加# jdk路径 export JAVA_HOME=/opt/apps/jdk1.8.0_221 # 是否打开自带zookeeper export HBASE_MANAGES_ZK=false 2.hbase-sitev...

Hbase基础(七):Sqoop 的简单使用案例【代码】

1 导入数据在 Sqoop 中,“导入”概念指:从非大数据集群(RDBMS)向大数据集群(HDFS,HIVE,HBASE)中传输数据,叫做:导入,即使用 import 关键字。1.1 RDBMS 到 HDFS1) 确定 Mysql 服务开启正常2) 在 Mysql 中新建一张表并插入一些数据$ mysql -uroot -p000000 mysql> create database company; mysql> create table company.staff(id int(4) primary key not null auto_increment, name varchar(255), sex varchar(255)); my...

Hbase与hive整合

//hive与hbase整合create table lectrure.hbase_lecture10(sname string, score int) stored by ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler‘ whth serdeproperties("hbase.columns.mapping" = ‘:key,cf1:score‘)tblproperties("hbase.table.name" = "hbase_lecture10");with serdeproperties : 指定属性,这里指定Hbase表和hive的字段映射关系,注意这里的字段个数和顺序必须和前面Hive表的属性保持一致。第一个字段:...

搭建Hbase和Spark环境【图】

前期准备:  1.默认已经搭建好了hadoop环境(我的hadoop版本是2.5.0)  2.这里我用的Hbase是0.98.6,spark是1.3.0一、搭建Hbase  1、上传Hbase安装包,将/opt/software下的hbase安装包解压到/opt/app目录下  2、进入hbase目录下,修改配置文件     1>修改hbase-env.sh文件        将export JAVA_HOME = 你的Java安装路径,我的路径是/opt/app/jdk1.7.0_79        所以改完后是 export JAVA_HOME=/o...

HBase体系结构(转)【图】

HBase的服务器体系结构遵循简单的主从服务器架构,它由HRegion服务器(HRegion Server)群和HBase Master服务器(HBase Master Server)构成。HBase Master服务器负责管理所有的HRegion服务器,而HBase中所有的服务器都是通过ZooKeeper来进行协调,并处理HBase服务器运行期间可能遇到的错误。HBase Master Server本身不存储HBase中的任何数据,HBase逻辑上的表可能会被划分为多个HRegion,然后存储到HRegion Server群中,HBase Mast...

Couchbase N1QL【代码】

Couchbase的 N1QL已经DP4了,在官方的文档中,Select * From like-table这个like-table实际上指的是Couchbase中Bucket,那么对于早起版本Couchbase的使用者来说,是否需要建立类似于RDBMS中,每一种数据集合建立一个Bucket呢?首先,官方对于Bucket,认为是越少越好,因为节点同步等等操作都是以Bucket为单位的.其次,如果你只使用一个Bucket,那你存储的数据可以增加一个Type字段,建立索引的时候,加上这个Type字段以及你需要查询的...

基于HBase的手机数据备份系统 .

基于HBase实现的手机数据备份系统,实现了手机关键信息的备份,如短信、联系人等。包括服务器端(Server)和客户端(Client)Server运行环境:Hadoop+HBase+TomcatClient运行环境: Eclipse+Android2.3Server端介绍:接收客户端请求的Action:添加短信Action----------->AddInfoAction.java获取短信Action----------->GetInfoAction.java同步联系人Action--------->AddContactAction.java上传文件Action----------->UploadFileAction.ja...

HBase eclipse开发环境搭建【代码】【图】

伪分布式环境安装事先本机必须部署好了伪分布式hadoop开发环境将Hbase/lib下的 hadoop-core-*.jar 与 hadoop保持一致。 将hadoop下的复制到hbase下将hadoop开发相关的包add build path,将hbase-0.92.1.jar和zookeeper-3.4.3.jar add build pathok,然后按照 http://qindongliang1922.iteye.com/blog/1982642 测试下hbase的 java api 即可。 遇到的异常: Type "exit<RETURN>" to leave the HBase Shell Version 0.92.1, r1298924,...

hBase【图】

1. hbase简介1.1. 什么是hbaseHBASE是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBASE技术可在廉价PC Server上搭建起大规模结构化存储集群。HBASE的目标是存储并处理大型的数据,更具体来说是仅需使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据。HBASE是Google Bigtable的开源实现,但是也有很多不同之处。比如:Google Bigtable利用GFS作为其文件存储系统,HBASE利用Hadoop HDFS作为其文件...

Task 0.0 in stage 1.0 (TID 1) had a not serializable result: org.apache.hadoop.hbase.client.Result【代码】

问题:spark操作HBase的时候报错Result为序列化问题报错:Exception in thread "main" org.apache.spark.SparkException: Job aborted due to stage failure: Task 0.0 in stage 1.0 (TID 1) had a not serializable result: org.apache.hadoop.hbase.client.Result Serialization stack:- object not serializable (class: org.apache.hadoop.hbase.client.Result, value: keyvalues={tjiloaB#3#20190520/wifiTargetCF:inNum/1581...

HBase实现分页浏览

文中可能涉及到的API:Hadoop/HDFS:http://hadoop.apache.org/common/docs/current/api/HBase: http://hbase.apache.org/apidocs/index.html?overview-summary.htmlBegin!最近做的项目用到了HBase处理海量的数据记录,并在前端UI提供了查询浏览功能。起初,这部分功能是使用Postgresql实现的,顺理成章的实现了分页浏览与按指定字段排序功能。但是,由于产品处理数据量级的改变(预估上亿,离真正的海量还很远~,但已经超出的PG可...

hbase常用的shell命令例子

1、hbase shell 进入hbase[hadoop@mdw ~]$ hbase shell HBase Shell; enter ‘help<RETURN>‘ for list of supported commands. Type "exit<RETURN>" to leave the HBase Shell Version 0.94.16, r1557241, Fri Jan 10 20:10:24 UTC 20142、whoami 查看当前访问hbase的用户hbase(main):001:0> whoamihadoop3、version 查看当前hbase的版本信息hbase(main):002:0> version0.94.16, r1557241, Fri Jan 10 20:10:24 UTC 2014...

Hbase 学习笔记4----原理

MapReduce 中如何处理HBase中的数据?如何读取HBase数据给Map?如何将结果存储到HBase中?Mapper类:包括一个内部类(Context)和四个方法(setup,map,cleanup,run); setup,cleanup用于管理Mapper生命周期中的资源。setup -> map -> cleanup , run方法执行了这个过程; map方法用于对一次输入的key/value对进行map动作,对应HBase操作也就是一行的处理; job的配置: 1. TableInputFormat完成了什么功能?...

MongoDB数据导入hbase + 代码【代码】

需求: 从mongoDB里面查出来数据,判断是否有该列簇,如果有则导入此条数据+列簇,如果没有,则该条数据不包含该列簇直接贴出代码:package Test;import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Set;import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.client.HTable; import org.apache.hadoo...

Apache-kylin-2.0.0-bin-hbase1x.tar.gz的下载与安装(图文详解)【代码】【图】

首先,对于Apache Kylin的安装,我有话要说。  由于Apache Kylin本身只是一个Server,所以安装部署还是比较简单的。但是它的前提要求是Hadoop、Hive、HBase必须已经安装且能正常工作。   以下,是我集群环境的情况 Apache kylin的官网安装文档http://kylin.apache.org/cn/docs21/install/manual_install_guide.html   注意:本博文,立足于对Apache Kylin的单节点部署。    我这里,是安装...

hbase 启动不了,删除了hdfs 上的hbase文件夹和文件

无意将hdfs上的hbase文件(hbase的rootDir为hdfs:master1:9000/hbase)删掉了,重启hbase和ZK都不行解决方案:使用hbase的ZK即设置 hbase-env.sh 中的 HBASE_MANAGES_ZK 为 true在重启hbase 即可生成hbase文件之后在使用单独的ZK来管理hbase即可原文:http://my.oschina.net/zhangdengpan/blog/326876

HBase配置(伪分布式模式)

1、配置文件和环境①配置hbase-env.sh设置Java安装路径 设置HBase的配置文件路径(/opt/module/hbase/conf)采用HBase自带Zookeeper,设置参数true②配置hbase-site.xml<!--hbase共享目录,持久化hbase数据--><!--配置为core-site.xml 中的fs.defaultFS --><property> <name>hbase.rootdir</name> <value>hdfs://bigdata128:9000/hbase</value></property><!--分布式运行模式,false(默认)为单机模式--><property>...

Nutch 2.x + Hadoop 2.5.2 + Hbase 0.94.26

一开始运行Nutch 2.x 总是报下面这个错误:java.lang.IncompatibleClassChangeError:Foundinterfaceorg.apache.hadoop.mapreduce.Counter,but classwas expected这个问题足足折腾了2天,查了无数资料,始终不能解决问题,虽然问题定位在Nutch 编译的时候使用了Hadoop 1.x,然后运行的时候是在Hadoop 2.x上,但是始终找不到到底什么时候依赖了hadoop-core-1.0.1,最后仔细研究了一下Nutch使用的编译工具,运行ant report把整个项目的...

hbase安装【代码】

HBase是Apache Hadoop中的一个子项目,Hbase依托于Hadoop的HDFS作为最基本存储基础单元,通过使用hadoop的DFS工具就可以看到这些这些数据 存储文件夹的结构,还可以通过Map/Reduce的框架(算法)对HBase进行操作;HBase 不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.所谓非结构化数据存储就是说HBase是基于列的而不是基于行的模式,这样方面读写大数据内容。前置条件:Hadoop zookeepertarxvfhbase-0.98.3.tar.gzmv...

HBase Replication 流程介绍 与 可靠性测试

1. Replication 大致流程 从RS的选取:  主机群根据提供给它的从集群zk群组,扫描/hbase/rs目录来发现所有可用的从RS,然后随即挑选一部分服务器来复制数据(默认10%)。例如,当从集群有150台RS,15台会被选取;从集群有5台RS,一台会被选取。 日志复制的Position追踪:  每个主RS在zk中都有一个znode,该znode中都包含一个需要处理的HLog队列(/hbase/replication/rs/hbase12.hadoop,60020,1385024790434/2/...)。每个队列都会...

在 Xshell 中 使用 hbase shell 进入后 无法删除 问题

在 Xshell 中 使用 hbase shell 进入后 无法删除 问题: 在hbase shell下,误输入的指令不能使用backspace和delete删除,使用过的人都知道,这是有多坑,有多苦恼! ok 下面给出解决办法! 很简单,一步到位!! 进入到XShell 文件 --> 属性 --> 终端 --> 键盘 在 DELETE键序列 和 BACKSPACE键序列 中都选择 ASCII 127 最后进入 Hbase 命令行测试,可以删除!在 Xshell 中 使用 hbase shell 进入后 无法删除 问题Y...

hbase 导入导出、hbase shell 基本命令。

数据导入./hbase org.apache.hadoop.hbase.mapreduce.Driver import 表名 数据文件位置hdfs数据文件位置 可以加 前缀 file:///否则 会访问 hdfs 地址。 数据导出./hbase org.apache.hadoop.hbase.mapreduce.Driver export 表名 数据文件位置 进入shell 命令。cd /hbaseHOME/bin/cd ./hbase shell 2016-05-20 15:36:32,370 INFO [main] Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.na...

Java在HBase数据库创建表【代码】

Java在HBase数据库创建表 要通过Java在HBase中创建一个数据表,首先需要导入hbase-client.jar驱动包。可以在项目pom.xml配置文件中添加依赖:<dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-client<artifactId><version>1.1.0.1</version> <dependency> 在添加依赖后,我们需要创建Configuration对象,并指定core-site.xml和hbase-site.xml作为资源文件。 Configuration config = HBaseConfiguration.create()...