一、安装&启动

下载

https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.1.8/

快速开始文档,HBase2.1.8

http://hbase.apache.org/2.1/book.html

配置hbase-site.xml

<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///usr/local/data/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/data/zookeeper/data/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>127.0.0.1:2181</value>
</property>
</configuration>

配置hbase-env.sh

export HBASE_MANAGES_ZK=false

启动

./hbase shell

基本操作

进入控制台

hbase shell

报错

ERROR: KeeperErrorCode = NoNode for /hbase/master

list 显示数据库表

Describe 表名

Scan 表名 查看数据

Disable 表名 表设置成不可用

drop 表名

简介

分布式、可扩展、海量数据存储的NoSQL数据库

存十几、几十亿数据

谷歌论文的3驾马车,mapreduce 、hdfs、bigtable,对应Hadoop、HBase

官方文档

https://hbase.apache.org/

参考文档

数据模型

name space :相当于mysql中的database

habse自带的命名空间:hbase、default

region,表的切片,类似mysql中的表的概念。

row:每行数据都有一个rowkey和多个列组成。

column:列由列族、列限定符组成

时间戳:标识数据的不同版本

cell:rowKey、column Family、column qualifier、timestamp,具有唯一确定性。

逻辑结构

数据模式和关系型数据库挺像,底层物理存储结构是K-V,像一个多维度的map

列、列族、rowKey(行键)

Region是一张表的横向切片。

物理存储结构

物理存储时,会将一行信息拆分成多行,每一行包含rowKey、列族名称、列名称、时间戳、操作类型,value。

当删除数据时,会插入一觉记录,操作类型是DEL,当DEL的时间戳> PUT的时间戳的时候,该条记录不会返回。

不同版本的数据,根据timestamp进行区分

HBase 基本架构

修改就是PUT,因为通过时间戳进行比较。

region,切分、合并操作。

列式存储

问题解决

KeeperErrorCode = NoNode for /hbase/master

应该是HBase没有启动成功,查看日志,如果是Zk的原因,可能是端口占用,或者是因为HBase有自带的Zk,和自己单独安装的Zk冲突了。

参考上面的hbase-env.sh和hbase-site.xml的配置,这里用的就是让HBase使用我们自己安装的Zk。

参考文档

HBase与列存储

5分钟图解Hbase列式存储

HBase(一) —— 基本概念及使用的更多相关文章

  1. Hbase学习之概念与原理

    一.hbase与列式存储 hbase最早起源于谷歌的一篇BigTable的论文,它是由java编写的.开源的一个nosql数据库,同时它也是一个列式存储的.支持分布式(基于hdfs)的数据库.什么是列 ...

  2. [How to] 使用HBase协处理器---基本概念和regionObserver的简单实现

    1. 简介 对于HBase的协处理器概念可由其官方博文了解:https://blogs.apache.org/hbase/entry/coprocessor_introduction 总体来说其包含两 ...

  3. HBase 协处理器---基本概念和regionObserver的简单实现

    1. 简介 对于HBase的协处理器概念可由其官方博文了解:https://blogs.apache.org/hbase/entry/coprocessor_introduction 总体来说其包含两 ...

  4. 【DB】HBase的基本概念

    一 Hbase是个啥东东?  在说Hase是个啥家伙之前,首先我们来看看两个概念.面向行存储和面向列存储.面向行存储.我相信大伙儿应该都清楚,我们熟悉的RDBMS就是此种类型的.面向行存储的数据库主要 ...

  5. Hadoop Hive HBase Spark Storm概念解释

    HadoopHadoop是什么? 答:一个分布式系统基础架构. Hadoop解决了什么问题? 答:解决了大数据(大到一台计算机无法进行存储,一台计算机无法在要求的时间内进行处理)的可靠存储(HDFS) ...

  6. HBase学习笔记——概念及原理

    1.什么是HBase HBase – Hadoop Database,是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群. ...

  7. hbase概念

    1. 概述(扯淡~) HBase是一帮家伙看了Google发布的一片名为“BigTable”的论文以后,犹如醍醐灌顶,进而“山寨”出来的一套系统. 由此可见: 1. 几乎所有的HBase中的理念,都可 ...

  8. HBase概念及表格设计

    HBase概念及表格设计 1. 概述(扯淡~) HBase是一帮家伙看了Google发布的一片名为“BigTable”的论文以后,犹如醍醐灌顶,进而“山寨”出来的一套系统. 由此可见: 1. 几乎所有 ...

  9. HBase 简介(强烈推荐看)

    本博文的主要内容有: .HBase定义 .HBase 的特点 .HBase 访问接口  .HBase 存储结构 .HBase设计 .HBase安装 .HBase shell操作  .输入 help 可 ...

  10. HBase · 印象

    2018-12-20 关键词: HBase是什么 . 什么是HBase . HBase基本概念 本篇文章系本人根据目前所掌握的知识对 HBase 的基本概念作出的一篇轻简式科普文章.关于文章所述的知识 ...

随机推荐

  1. linux修改当前用户环境变量永久生效

    在linux环境中,修改当前用户环境变量,且永久生效的方法如下. 1,编辑~/.bash_profile文件 1 2 3 # Get the aliases and functions 4 if [ ...

  2. Java调用Kotlin程序深度解析

    异常: 在之前我们已经学习在Kotlin中的所有异常都是运行期的,而不像Java分为运行期和非运行期,下面用代码来演示一下,先建一个Java的异常: 然后在Kotlin中来调用一下该Java中的方法 ...

  3. 【转】什么时候 i = i + 1 并不等于 i += 1?

    增强型赋值语句是经常被使用到的,因为从各种学习渠道中,我们能够得知 i += 1 的效率往往要比 i = i + 1 更高一些(这里以 += 为例,实际上增强型赋值语句不仅限于此). 所以我们会乐此不 ...

  4. JS数组扁平化(flat)

    需求:多维数组=>一维数组 let ary = [1, [2, [3, [4, 5]]], 6]; let str = JSON.stringify(ary); 第0种处理:直接的调用 arr_ ...

  5. 如果在使用谷歌的gson的时候,在返回时间类型的数据的时候,

    可能会出现在long类型的时间后面多3个0 如下图所示 可以自己创建一个json序列化的类 public class Date2LongSerializer extends JsonSerialize ...

  6. jq function return value

    所有 JS  函数 都会返回值 假如 没有 return  则返回 undefined

  7. Nginx——报错汇总

    前言 记录NGINX的错误 错误 nginx: [emerg] unknown directive "erver" in /usr/local/nginx/conf/vhost/d ...

  8. How to Start Up an Open Source Company

    https://evolveum.com/start-open-source-company/ Evolveum is a successful open source company now. We ...

  9. 代码中的mysql语法问题

    今天在代码中写了mysql的删除语句 String lpinsuredSQL=" delete from lpinsured a where a.insuredid='?InsuredID? ...

  10. sql语句的面试题

    中科软的面试题:http://www.mayiwenku.com/p-5888480.html 中科软的面试题:https://blog.csdn.net/woolceo/article/detail ...