一、安装&启动

下载

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. .python3基础之“术语表(1)”

    1.注释: 行首有一特殊标志符号运行时告知编程忽略此行:使代码更易于阅读. 例如: #这是一个注释 print("hello world") #print() 方法用于打印输出,p ...

  2. Linux排查PHP-FPM进程过量常用命令

    命令如下: 查看每个PHP-FPM进程的内存占用:ps -ylC php-fpm –sort:rss 查看消耗内存最多的前 40 个进程:ps auxw|head -1;ps auxw|sort -r ...

  3. JAVA导出excel 直接弹出下载框

    转自:https://blog.csdn.net/qq_38423105/article/details/80782283 效果展示: 1.首先准备jar包 <dependency>    ...

  4. Linux“七大蠢”收录

    这个系列的文章,前段时间在微信公共平台(阿里技术嘉年华)上看过,写得很好. Linux"七大蠢"之一:万般皆文本 Linux"七大蠢"之二:处处有脚本 Linu ...

  5. redis设置远程连接

    1.修改redis服务器的配置文件 本机安装的redis-4.0.14默认的配置文件 redis.conf 设置 绑定本机地址:bind 127.0.0.1 开启保护模式:protected-mode ...

  6. python编程之字符bytes转换str问题

    之前学习bytes转换str的时候,场景比较简单,这次是python中使用subprocess模块输出Linux下的执行命令的结果,默认是bytes类型,因此输出的结果并不是我们想要的,bytes的输 ...

  7. java 获取最近7天 最近今天的日期

    private static Date getDateAdd(int days){ SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-d ...

  8. Codeforces I. Vessels(跳转标记)

    题目描述: Vessels time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...

  9. janusgraph-创建索引出现GraphIndexStatusReport[success=false, indexName='mixedvlabel', targetStatus=[REGISTERED], notConverged={vlabel=INSTALLED}, converged={}, elapsed=PT1M0.07S]

    参考网址: https://www.cnblogs.com/Uglthinx/p/9630779.html 原因:我的是事务没有完全关闭 解决办法: 创建一个混合索引: // 在graph中有事务执行 ...

  10. DNS隧道

    自己使用的dns隧道通过两种方法,一种是通过dnscat2工具,另一种通过cs上的beacon来进行通信. 第一种方法:dnscat2: 参考文章:https://xz.aliyun.com/t/22 ...