文档章节

Hbase1.2.4 standlone模式安装以及基本概念

秋风醉了
 秋风醉了
发布于 2016/12/12 17:16
字数 1022
阅读 68
收藏 0
点赞 0
评论 0

Hbase1.2.4 standlone模式安装以及基本概念

hbase standlone模式的安装


参考官方文档:http://hbase.apache.org/book.html#quickstart

新建hbase 目录,

➜  hbase pwd
/Users/xinxingegeya/IDE/hbase


然后把解压好的hbase 拷贝到当前的hbase目录下。

按照官方文档说明的,只需要如下配置,

   <property>
        <name>hbase.rootdir</name>
        <value>file:///Users/xinxingegeya/IDE/hbase/hbase</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/Users/xinxingegeya/IDE/hbase/zookeeper</value>
    </property>

注意这两个路径不必新建,会自动帮你建立。然后启动hbase。

➜  bin pwd
/Users/xinxingegeya/IDE/hbase/hbase-1.2.4/bin
➜  bin ./start-hbase.sh
starting master, logging to /Users/xinxingegeya/IDE/hbase/hbase-1.2.4/logs/hbase-xinxingegeya-master-Yale-Li.out
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0

 

hbase的基本概念

基本概念

Row key

行主键, HBase不支持条件查询和Order by等查询,读取记录只能按Row key(及其range)或全表扫描,因此Row key需要根据业务来设计以利用其存储排序特性(Table按Row key字典序排序如1,10,100,11,2)提高性能。

=====
Column Family(列族)

在表创建时声明,每个Column Family为一个存储单元。

=====
Column(列)

HBase的每个列都属于一个列族,以列族名为前缀,如列article:title和article:content属于article列族,author:name和author:nickname属于author列族。

Column不用创建表时定义即可以动态新增,同一Column Family的Columns会群聚在一个存储单元上,并依Column key排序,因此设计时应将具有相同I/O特性的Column设计在一个Column Family上以提高性能。

=====
Timestamp

HBase通过row和column确定一份数据,这份数据的值可能有多个版本,不同版本的值按照时间倒序排序,即最新的数据排在最前面,查询时默认返回最新版本。Timestamp默认为系统当前时间(精确到毫秒),也可以在写入数据时指定该值。

=====
Value

每个值通过4个键唯一索引,TableName+RowKey+ColumnKey+Timestamp=>value

=====
存储类型

TableName 是字符串
RowKey 和 ColumnName 是二进制值(Java 类型 byte[])
Timestamp 是一个 64 位整数(Java 类型 long)
value 是一个字节数组(Java类型 byte[])。

 

下面就用实例来说明一下上面的概念。

建表语句

hbase(main):003:0* create 'test', 'cf'
0 row(s) in 1.5090 seconds

=> Hbase::Table - test

test为表名,cf的列簇的名字。建表的时候必须指定表名和列簇的名字,可以有多个列簇。

插入数据语句,

hbase(main):005:0> put 'test','row1','cf:a','value1'
0 row(s) in 0.2070 seconds
hbase(main):009:0* put 'test','row2','cf:b','value2'
0 row(s) in 0.0040 seconds
hbase(main):010:0> put 'test','row3','cf:c','value3'
0 row(s) in 0.0090 seconds

上面的几个数据依次是:表名,row key ,列簇:列名,值。

其中,cf:a , cf:b , cf:c 表示a , b , c三列都属于同一个列簇cf,但是是不同的三列,列的名字分别为 a , b , c。

scan 和 get 查询命令

hbase(main):012:0> scan 'test'
ROW                                                                   COLUMN+CELL
 row1                                                                 column=cf:a, timestamp=1481531060401, value=value1
 row2                                                                 column=cf:b, timestamp=1481531083332, value=value2
 row3                                                                 column=cf:c, timestamp=1481531091578, value=value3
3 row(s) in 0.0280 seconds

hbase(main):013:0> get 'test','row1'
COLUMN                                                                CELL
 cf:a                                                                 timestamp=1481531060401, value=value1
1 row(s) in 0.0640 seconds

get命令 的参数为 表名和row key。

 

列簇和列的关系如下图所示,

每个列簇可以有不同的列。可以动态的增加列簇。

hbase(main):018:0> describe 'test'
Table test is ENABLED
test
COLUMN FAMILIES DESCRIPTION
{NAME => 'cf', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}
1 row(s) in 0.1710 seconds

hbase(main):019:0> alter 'test' , NAME => 'cf2'
Updating all regions with the new schema...
1/1 regions updated.
Done.
0 row(s) in 2.0880 seconds

hbase(main):020:0> describe 'test'
Table test is ENABLED
test
COLUMN FAMILIES DESCRIPTION
{NAME => 'cf', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}
{NAME => 'cf2', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}
2 row(s) in 0.0990 seconds

现在就有了两个列簇,cf 和 cf2 。

=======END=======

© 著作权归作者所有

共有 人打赏支持
秋风醉了
粉丝 223
博文 581
码字总数 411013
作品 0
东城
程序员
11 个处理触摸事件和多点触摸的 JS 库

触摸屏是现在所有智能手机的标配,还包括各种平板设备,而且很多桌面也慢慢在开始支持触摸操作。要开发支持触摸屏设备的 Web 应用,我们需要借助浏览器的触摸事件来实线。 下图是各种触摸事件...

oschina ⋅ 2012/06/12 ⋅ 11

ubuntu12.04 美化eclipse

最终效果,这是非全屏模式下的抓图(如果全屏模式Alt+F11打开后,最上面没用的标题栏也会被隐藏,从而使可编辑区域最大化!) 1。安装theme插件 从Marketplace搜索Eclipse Color Theme并安装 ...

cyper ⋅ 2015/02/03 ⋅ 0

【Hadoop】hadoop 2.7.3上 安装Hbase1.2.4

原创文章,转载请标注来自http://blog.csdn.net/lsttoy/article/details/53406840。 首先,去apache看官方的支持版本 可以看到hadoop2.4.X以后的版本基本都支持hbase1.2.4。 接下来开始安装。...

lsttoy ⋅ 2016/11/30 ⋅ 0

hbase1.2.4安装

匹配的hadoop2.6.0,假设hadoop已经正确安装并启动,假设zookeeper已经正确安装并启动。 下载hbase cd到安装目录时,编辑hbase-env.sh,放开如下配置,设置为false表示使用外部zookeeper集群...

尚浩宇 ⋅ 2016/11/17 ⋅ 0

关于Spark的基本概念和特性简介

1、Spark是什么? ○ 高可伸缩性 ○ 高容错 ○ 基于内存计算 2、Spark的生态体系(BDAS,中文:伯利克分析栈) ○ MapReduce属于Hadoop生态体系之一,Spark则属于BDAS生态体系之一 ○ Hadoop...

openthings ⋅ 2015/06/25 ⋅ 0

mongodb有没有办法实现将数据备份到HDFS中??

环境: hadoop 2.5.1 cluster mongodb 2.6.5 standlone 为防止当前部署的Mongodb数据因不可控因素丢失,需要将数据备份一份到HDFS中,也顺带为后期执行MR做准备。 有没有专家有这方面的经验呢...

inphyy ⋅ 2014/10/24 ⋅ 0

spark架构详解

hadoop和spark Hadoop这项大数据处理技术大概已有十年历史,而且被看做是首选的大数据集合处理的解决方案。MapReduce是一路计算的优秀解决方案,不过对于需要多路计算和算法的用例来说,并非...

张欢19933 ⋅ 2016/02/18 ⋅ 0

CentOS 7下安装集群HBase1.2.4

本文是继续前两篇博文: 【CentOS 7下安装Hadoop-2.7.3】https://my.oschina.net/xhhuang/blog/807914 【CentOS 7下安装Zookeeper-3.4.9】https://my.oschina.net/xhhuang/blog/808600 的工作......

xhHuang ⋅ 2016/12/20 ⋅ 2

【转载】基于 Open vSwitch 的 OpenFlow 实践

Open vSwitch 概述 Open vSwitch(下面简称为 OVS)是由 Nicira Networks 主导的,运行在虚拟化平台(例如 KVM,Xen)上的虚拟交换机。在虚拟化平台上,OVS 可以为动态变化的端点提供 2 层交...

Inchin ⋅ 2014/07/25 ⋅ 1

软件分发管理器Secure Delivery Center基本概念概述(二)

<免费下载Secure Delivery Center 2015> 7月23日软件分发管理神器Secure Delivery Center免费技术交流会,MyEclipse原厂商倾力主讲,敬请关注! 在软件分发管理器Secure Delivery Center基本...

Miss_Hello_World ⋅ 2015/06/26 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】

前言 我是上学期学的汇编,因为有vs又不想用课上教的麻烦的dosbox以及masm32,但是一直没找到高亮插件和能调试的(难在运行不了而找不到答案上,出现的错误在最后放出,还请先达们不吝指点)...

simpower ⋅ 昨天 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 昨天 ⋅ 0

Java桌球小游戏

其实算不上一个游戏,就是两张图片,不停的重画,改变ball图片的位置。一个左右直线碰撞的,一个有角度碰撞的。 左右直线碰撞 package com.bjsxt.test;import javax.swing.*;import j...

森林之下 ⋅ 昨天 ⋅ 0

你真的明白RPC 吗?一起来探究 RPC 的实质

你真的明白RPC 吗?一起来探究 RPC 的实质 不论你是科班出身还是半路转行,这么优秀的你一定上过小学语文,那么对扩句和缩句你一定不陌生。缩句就是去除各种修饰提炼出一句话的核心,而不失基...

AI9o後 ⋅ 昨天 ⋅ 0

z-index设置失效?

今天碰到了一个问题,就是在给li设置提示框的时候,有用到遮罩效果,本来想把对应的出现在最顶层,可是不管将li设置的z-index值设为多大,li都没有出现在遮罩层之上。 我在网上查了z-index设...

IrisHunag ⋅ 昨天 ⋅ 0

CyclicBarrier、CountDownLatch以及Semaphore使用及其原理分析

CyclicBarrier、CountDownLatch以及Semaphore是Java并发包中几个常用的并发组件,这几个组件特点是功能相识很容易混淆。首先我们分别介绍这几个组件的功能然后再通过实例分析和源码分析其中设...

申文波 ⋅ 昨天 ⋅ 0

Java对象的序列化与反序列化

Java对象的序列化与反序列化

Cobbage ⋅ 昨天 ⋅ 0

Sqoop

1.Sqoop: 《=》 SQL to Hadoop 背景 1)场景:数据在RDBMS中,我们如何使用Hive或者Hadoop来进行数据分析呢? 1) RDBMS ==> Hadoop(广义) 2) Hadoop ==> RDBMS 2)原来可以通过MapReduce I...

GordonNemo ⋅ 昨天 ⋅ 0

全量构建和增量构建的区别

1.全量构建每次更新时都需要更新整个数据集,增量构建只对需要更新的时间范围进行更新,所以计算量会较小。 2.全量构建查询时不需要合并不同Segment,增量构建查询时需要合并不同Segment的结...

无精疯 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部