HBASE - 技术教程文章

Hbase配置项粗解

继之前写的设计和使用tip,这里补充一下hbase所有的配置项。之前涉及的一个项目在hbase设计上存在缺陷,当进入时已经存在着很多rowkey设计和读写问题,现在重读hbase文档,把所有的配置项整理一遍。hbase.tmp.dir:本地文件系统的临时目录,默认是${java.io.tmpdir}/hbase-${user.name};hbase.rootdir:hbase持久化的目录,被所有regionserver共享,默认${hbase.tmp.dir}/hbase,一般设置为hdfs://namenode.example.org:9000/hbas...

读书笔记-HBase in Action-第三部分应用-(2)GIS系统【图】

本章介绍用HBase存储、高效查询地理位置信息。Geohash空间索引考虑LBS应用中常见的两个问题:1)查找离某地最近的k个地点;2)查找某区域内地点。如果要用HBase实现高效查找,首先要考虑的是空间局部性(Spatial Locality),即位置上相近的点得物理存储在一起。最简单的地理位置数据由两个维度组成:经度X和纬度Y,那么相对应最简单的Rowkey也可以由X和Y组成。Rowkey的有序性决定了数据首先按照经度X排序,再按照纬度Y排序,这种方...

HBase Error: connection object not serializable【代码】

HBase Error: connection object not serializable想在spark driver程序中连接HBase数据库,并将数据插入到HBase,但是在spark集群提交运行过程中遇到错误:connection object not serializable详细的错误:Exception in thread "main" java.io.NotSerializableException: DStream checkpointing has been enabled but the DStreams with their functions are not serializable com.sae.model.HbaseHelper Serialization stack:- o...

java 连接hbase【代码】

package com.weshare.bigdata; import org.apache.hadoop.hbase.Cell;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.TableName;import org.apache.hadoop.hbase.client.*;import org.apache.hadoop.hbase.util.Bytes;public class hbaseLink {static org.apache.hadoop.conf.Configuration configuration=null;private org.apache.hadoop.hbase.client.Connection connection=null;private T...

hbase

http://grokbase.com/t/hbase/user/125ya2cxxs/scan-addfamily-vs-familyfilter-equal Just to add on.The java doc clearly says in FamilyFilter that* If an already known column family is looked for, use {@linkorg.apache.hadoop.hbase.client.Get#addFamily(byte[])}* directly rather than a filter.So addFamily should be better.RegardsRam-----Original Message-----From: Anoop Sam JohnSent: Thursday, May 31, 20...

NUTCH2.3 hadoop2.7.1 hbase1.0.1.1 solr4.8.1部署(二)

??Precondition:hadoop 2.7.1 hbase 1.0.1.1 / hbase 0.98.13192.168.1.106 ->master 192.168.1.105 ->slave / regionservershbase部署直接下载hbase bin文件hbase1.0.1.1 还有hbase 0.98.13 和hadoop2.7.1 / hadoop 2.5.2 配合并没有问题。只不过Nutch2.3 似乎和hbase 0.98.13 配合比较好。1. 配置hbase-site.xml<configuration> <property><name>hbase.zookeeper.quorum</name><value>192.168.1.105,192.168.1.106</value> </pro...

hbase表的高性能设计

第7章 HBase优化7.1 高可用在HBase中Hmaster负责监控RegionServer的生命周期,均衡RegionServer的负载,如果Hmaster挂掉了,那么整个HBase集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。所以HBase支持对Hmaster的高可用配置。1.关闭HBase集群(如果没有开启则跳过此步)[FLY@hadoop102 hbase]$ bin/stop-hbase.sh2.在conf目录下创建backup-masters文件[FLY@hadoop102 hbase]$ touch conf/backup-masters3.在backu...

HBase基础知识【图】

1.HBase简介  HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协调工具。2.HBase(NoSQL)的数据模型2.1 表(table),是存储管理数据的。2.2 行键(row key),类似于MySQL中的主键。行键是HBase表天然自带的。2.3 列族(...

Eclipse远程连接HBase【代码】【图】

在Eclipse下新建一个Map/Reduce项目,并将以下jar添加到Build path:程序代码:package thathbase;import java.io.IOException; import java.util.Random;import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.client.Connection; import org....

Windwos下连远程linux Hbase小问题【代码】【图】

前几天,兴起想仔细玩玩hbase,细细去研究一下,写了个小demo,从win7去连接另一台T510的ubuntu上的hbase.很简单的crud的操作程序,没有看出来什么问题,但是跑起来,硬是好像block住了,不往下执行,eclipse console没有打印任何信息,小红点还一直亮,纳闷之余,看到一些 Opening socket connection to server 192.168.0.xx/192.168.0.xx:2181. Will not attempt to authenticate using SASL (java.lang.SecurityException: 无法...

Hbase的基本操作(CDH组件可用)【代码】

Habse创建一张表: 1,创建一个命名空间NameSpace(命名空间NameSpace指的是一个表的逻辑分组 ,同一分组中的各个表有类似的用途,相当于关系型数据库中的DataBase) admin.createNamespace(NamespaceDescriptor.create("MyNamespace").build()); NamespaceDescriptor类用于对NameSpace的描述 在Hbase中,命名空间、表、列族的创建,都需要先进行描述NamespaceDescriptor、HTableDescriptor、HColumnDescriptor,才...

spark操作HBASE【代码】

import org.apache.hadoop.hbase.util.Bytes import org.apache.hadoop.hbase.{HColumnDescriptor, HTableDescriptor, TableName, HBaseConfiguration} import org.apache.hadoop.hbase.client._ import org.apache.spark.SparkContext import scala.collection.JavaConversions._/*** HBase 1.0.0 新版API, CRUD 的基本操作代码示例**/ object HBaseNewAPI {def main(args: Array[String]) {val sc = new SparkContext("local", "...

Hadoop Hive与Hbase关系 整合

用hbase做数据库,但由于hbase没有类sql查询方式,所以操作和计算数据非常不方便,于是整合hive,让hive支撑在hbase数据库层面 的 hql查询.hive也即 做数据仓库 1. 基于Hadoop+Hive架构对海量数据进行查询:http://blog.csdn.net/kunshan_shenbin/article/details/7105319 2. HBase 0.90.5 + Hadoop 1.0.0 集成:http://blog.csdn.net/kunshan_shenbin/article/details/7209990 本文的目的是要讲述如何让Hbase和Hive能互相访问,让Hado...

HBase Compact【代码】【图】

Region Compact请求是在Region MemStore Flush之后被触发的:booleanshouldCompact = region.flushcache();// We just want to check the sizebooleanshouldSplit = region.checkSplit() != null;if (shouldSplit) {this.server.compactSplitThread.requestSplit(region); } elseif (shouldCompact) {server.compactSplitThread.requestCompaction(region, getName()); }server.getMetrics().addFlush(region.getRecentFlushInfo()...

HBase(四)【代码】【图】

续接(三)3 habse(1.2)集成hive(1.2.1)===》不兼容集成,需要自己编译!!!    hive1.x与hbase0.98版本兼容    hive2.x与hbase1.x版本以上兼容    hive0.x与hbase0.98以下兼容  Hive提供了与HBase的集成,使得能够在HBase表上使用hive sql 语句进行查询 插入操作以及进行Join和Union等复杂查询、同时也可以将hive表中的数据映射到Hbase中。3.1 整合配置1、修改hive-site.xml文件,添加配置属性<property><name...

Hbase搭建【代码】

一.初始化环境1.安装zookeeper环境并启动2.安装hadoop环境并启动3.准备三台服务器搭建Hbase集群 二.下载安装包下载地址:http://archive.apache.org/dist/hbase/2.0.0/hbase-2.0.0-bin.tar.gz 三.搭建集群环境1.三台服务器上传Hbase压缩包到/usr/目录下2.修改配置文件vim hbase-2.0.0/conf/hbase-env.sh:export JAVA_HOME=jdk1.8路径export HBASE_MANAGES_ZK=falsevim hbase-2.0.0/conf/hbase-site.xml:<configuration><property...

Spring Boot集成HBase【代码】【图】

Spring Boot版本v1.5.19.RELEASE1、增加Jar <dependency><groupId>com.spring4all</groupId><artifactId>spring-boot-starter-hbase</artifactId><version>1.0.0.RELEASE</version></dependency> 2、创建表创建命名空间pbcreate_namespace ‘pb‘ 在pb命名空间下创建用户表create ‘pb:user‘, {NAME => ‘b‘, VERSIONS => ‘3‘, TTL => ‘2147483647‘, ‘BLOOMFILTER‘ => ‘ROW‘}, {NAME => ‘o‘, VERSIONS => ‘3‘, TTL ...

HBase概念学习(八)开发一个类twitter系统之表设计

这边文章先将可能的需求分析一下,设计出HBase表,下一步再开始编写客户端代码。TwiBase系统1、背景为了加深HBase基本概念的学习,参考HBase实战这本书实际动手做了这个例子。2、需求这是一个用户推特系统,用户登陆到系统,需要维护用户的基本信息,然后用户可以发帖和其他用户进行互动。用户之间可以相互关注,用户可以浏览关注用户的推文等等。这是一个比较简单的推特系统,不考虑用户之间的私信,用户评论推特等功能。3、概要设...

akka-persistence-hbase-master源码分析之创建Journal表【代码】

akka-persistence-hbase-master是负责akka持久化的组件,采用async方式来操作hbase,讲akka的日志持久化到hbase中。 akka-persistence-hbase-master持久化之前首先要创建Journal表,关于表的配置存放在application.conf文件中,akka.persistence.hbase.journal.HBaseJournalInit对象负责关于Journal表的管理,获取hbase配置的代码如下: def getHBaseConfig(config: Config): Configuration = {val c = new Configuration()val jo...

Hive、Pig、HBase的关系与区别

欢迎关注大数据和人工智能技术文章发布的微信公众号:清研学堂,在这里你可以学到夜白(作者笔名)精心整理的笔记,让我们每天进步一点点,让优秀成为一种习惯! Pig一种操作hadoop的轻量级脚本语言,最初又雅虎公司推出,不过现在正在走下坡路了。当初雅虎自己慢慢退出pig的维护之后将它开源贡献到开源社区由所有爱好者来维护。不过现在还是有些公司在用,不过我认为与其使用pig不如使用hive。:)Pig是一种数据流语言,用来快速...

hbase伪分布安装【图】

hbase 版本的选择很重要:笔者就是第一遍安装选错了版本 导致出现各种问题。版本:hadoop-1.2.1hbase-0.98.8.tar.gz1.还是 拷贝到/usr/下2. 解压:sudo tar -zxvf hbase-098.8.tar.gz 3. 重命名:sudo mv hbase-0.98.8 hbase4. 修改配置文件sudo vim /etc/profile注意:hbase_home 和 path5. 修改 /usr/hbase/conf/hbase-env.sh文件事先创建好6 编辑hbase-site.xml文件:7.运行: 进入 bin/下sudo ./start-hbase.sh./ hbase shell...

熟悉常用的Hbase操作【代码】【图】

1. 以下关系型数据库中的表和数据,要求将其转换为适合于HBase存储的表并插入数据:学生表(Student)(不包括最后一列)学号(S_No)姓名(S_Name)性别(S_Sex)年龄(S_Age)课程(course)2015001Zhangsanmale23 2015003Maryfemale22 2015003Lisimale24数学(Math)85 create ‘Student‘, ‘ S_No ‘,‘S_Name‘, ’S_Sex’,‘S_Age‘ put ‘Student‘,‘s001‘,‘S_No‘,‘2015001‘ put ‘Student‘,‘s001‘,‘S_Name‘,‘...

HBase里的HLog

首先,明确,HRegion服务器包含两大部分:HLog和HRegion。HLog用来存储数据日志,采用的是先写日志的方式。  当用户需要更新数据的时候,数据会被分配到对应的HRegion服务器上提交修改。数据首先被提交到HLog文件里面,在操作写入HLog之后,commit()调用才会将其返回给客户端。HLog文件用于故障恢复。例如某一台HRegionServer发生故障,那么它所维护的HRegion会被重新分配到新的机器上。这是HLog会按照HRegion进行划分。新的机器...

HBASE搭建教程-My【代码】

安装前一定要注意版本兼容!安装前一定要注意版本兼容!安装前一定要注意版本兼容!重要的话说三遍,参考《HADOOP&HBASE&HIVE整合》中的兼容原则。由于之前Hadoop是2.4,亲测在Hadoop2.4上hbase1.0.1是可以工作的。而0.94版本存在兼容性的问题。配置所有的配置文件位于附件中,供后来参考。Hbase和hadoop一样在master端和slave端都需要配置,操作还是在master端配好后发送到slave并稍作修改。列一下参考信息:Master:hadoop-test1...

hbase 批量插入api

1、数据格式a.txt:1363157985066 1372623050300-FD-07-A4-72-B8:CMCC120.196.100.82i02.c.aliimg.com2427248124681200 1363157995052 138265441015C-0E-8B-C7-F1-E0:CMCC120.197.40.440 2640200 1363157991076 1392643565620-10-7A-28-CC-0A:CMCC120.196.100.9924 1321512 200 1363154400022 139262511065C-0E-8B-8B-B1-50:CMCC120.197.40.440 2400200 1363157993044 1821157596194-71-AC-CD-E6-18:CMCC-EASY120.196.100.99iface....

HBase相关问题

HBase和Hive的异同之处?共同点:   1). HBase与Hive都是架构在Hadoop之上的,都是用HDFS作为底层存储 区别:   2). Hive是建立在Hadoop之上为了减少MapReduce jobs编写工作的批处理系统,HBase是为了支持弥补Hadoop对实时操作的缺陷的项目 。  3). Hive的表是逻辑表,它本身不存储和计算数据,它完全依赖于HDFS和MapReduce,高延迟的特点。   4). HBase的表物理表,hdfs作为底层存储,而HBase负责组织文件。 提供一个超大的...

Hbase Basic【代码】

HBaseHelperpackage util;import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.KeyValue; import org.apache.hadoop.hbase.client.Get; import org.apache.hadoop.hbase.client.HBaseAdmin; import org.apache.hadoop.hbase.client.HTable; import org.apache.hadoop.hbase.client.Put; import or...

从hbase读取数据优化策略和实验对比结果【图】

起因:工作需要,我需要每5分钟从hbase中,导出一部分数据,然后导入到ES中,但是在开始阶段编写的python脚本,我发现从hbase读取数据的速度较慢,耗费大量的时间,影响整个导数过程,恐怕无法在5分钟内完成导数工作在咨询了老人后,采取部门优化策略,并记录了实验结果。hbase结果大致如下粉丝表rowKey 是粉丝ID列名含义id粉丝IDut更新时间... ... 此hadoop集群有13台机器任务的目标把hbase中前5分钟录入的数据录入到ES中。1. 为...

HBase Rowkey 设计指南【图】

为什么Rowkey这么重要RowKey 到底是什么 我们常说看一张 HBase 表设计的好不好,就看它的 RowKey 设计的好不好。可见 RowKey 在 HBase 中的地位。那么 RowKey 到底是什么?RowKey 的特点如下:类似于 MySQL、Oracle中的主键,用于标示唯一的行;完全是由用户指定的一串不重复的字符串;HBase 中的数据永远是根据 Rowkey 的字典排序来排序的。RowKey的作用读写数据时通过 RowKey 找到对应的 Region;MemStore 中的数据按 RowKey 字...

hive与hbase的区别与联系

共同点:1.hbase与hive都是架构在hadoop之上的。都是用hadoop作为底层存储区别:2.Hive是建立在Hadoop之上为了减少MapReduce jobs编写工作的批处理系统,HBase是为了支持弥补Hadoop对实时操作的缺陷的项目 。3.想象你在操作RMDB数据库,如果是全表扫描,就用Hive+Hadoop,如果是索引访问,就用HBase+Hadoop 。4.Hive query就是MapReduce jobs可以从5分钟到数小时不止,HBase是非常高效的,肯定比Hive高效的多。5.Hive本身不存储和计...