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()...