Hbase详解(下)
来源:互联网 发布:mac截图怎么保存 编辑:程序博客网 时间:2024/06/06 06:38
http://blog.csdn.net/a_eternal/article/details/77450189
列族
在关系型数据库中没有列族的概念,在HBase中,列族是一行中一个或多个列的集合,就是一行数据的一部分。列族需要在表创建时就定义好,并且不能修改的太频繁,数量也不能太多,在以前的HBase实现中有少量已知的缺陷,导致列族的数量最多只能使用几十个。列族中的列的数量是没有限制的。
如图所示,列族中可以包含多个列,一个表中的某个列的定位方式就成为了meta:size这种方式。我们就称之为列限定符,说白了,列限定符即指一个列族中的某个列。
单元格
一个单元格是行、列族和列限定符的结合,也就是说,通过这三个值(也称之为坐标)来唯一确定一个单元格。其中包含值和创建这个值的时间(即时间戳)。单元格中的值与关系型数据库不同的是,其如果没有值的话,就为空,什么也不写,也不占用底层物理存储。关系型数据中则需要存储null。
时间戳就是写入某个单元格中的数据时候的具体时间(从1970年1月1日开始到当前系统时间的一个毫秒值),用来表示一个单元格中的数据的新旧。
数据模型
逻辑模型:有序映射的映射集合
存储模型:列式存储
物理模型:面向列族
HBase增删改查内部流程
HBase写流程和更新流程
HBase读流程
.HBase删流程
HBase shell
详见HBaseShell常用命令.docx文档
HBase java api
使用eclipse开发Hbase程序
先将Hbase 安装目录下的lib目录中的所有jar包导入到项目中
只需创建普通的java应用程序即可,需要在项目中创建conf目录,并将hbase-site.Xml文件放进其中(此时hbase-site.xml文件中的hbase.rootdir配置项的值应为hdfs://master:8020/hbase的形式,这种方式不影响使用HDFS的HA,但是不能直接配置成HDFS中的HA的方式)。再通过Configure Build Path将conf目录添加为ClassFloder即可。
同时还需要在Windows中配置hosts文件,以方便访问Hbase服务器。
具体语法
详见代码和HBase JAVA API.docx文档
HBase的HA之backupMaster
HBase的HA与HDFS的HA类似,也是通过多Master程序来实现的,其中有一个Master为主提供服务的Master,剩下的master对活跃的Master进行备份,习惯称之为backupMaster,也称之为slave类型的Master。主master与slave类型的master之间不需要通过其他额外的方式进行数据共享。当主Mater挂掉时,会自动切换到slave类型的Master上(需要几秒钟时间)。(HBase的HA机制可以在HBase的master已有数据时进行操作)
实现方式
在habse的conf目录里添加backup-masters文件,其中填入需要作为Master的机器即可,在本例中,其内容如下(其中每个主机名占一行):
master
slave1
注意:实际操作发现在master机器上的conf目录下创建此文件即可,无需在所有机器上都添加此文件,同样的,启动时需要在master机器上启动Hbase程序。
如果不配置此文件,Hbase本身也是支持多Master的,只需要在多台机器上启动master即可。启动命令如下:
# sh hbase-daemon.sh start master
检测方式
在master机器上正常启动Hbase即可,启动后在slave1机器上通过jps命令可以看到slave1机器上也开启了master进程。
启动命令:
# sh start-hbase.sh
正常启动的web信息
Ø Master机器上的web界面如下图所示:
Ø Slave1机器上的web界面如下图所示:
杀死slave1上的master进程后的web信息
使用如下两种方式皆可杀死slave1机器上的Hbase 的master进程
1. 直接杀死进程:
Kill -9 master进程的端口号
1. 使用hbase自带的命令关闭master进程
sh hbase-deamon.sh stop master
[0-2) 包前不包后
64K
- Hbase详解(下)
- Hbase 详解(上)
- Mac下安装HBase及详解
- HBASE 结构详解(转载)
- HBase详解:HBase体系结构
- hbase学习教程(二):HBase容错性和Hbase使用场景、Hbase读写过程详解
- hbase 详解
- hbase 详解
- Hbase详解
- HBase详解
- HBase详解
- HBase详解
- Hbase详解
- Hbase详解
- HBase(2.2)-HBase架构详解
- HBase Java API详解
- Hbase API详解
- hbase java api详解
- java 的HashMap底层数据结构
- [POI2007]洪水pow bfs
- 微信小票打印机接口怎么写 微信餐饮外卖订餐系统对接流程
- 【FZU
- C Clion开发工具注册码
- Hbase详解(下)
- 基于Spring Boot和Spring Cloud实现微服务架构学习(五)-Docker总结
- Android APK 版本更新的下载和安装 直接上代码
- Quartz学习6:Quartz在Spring中如何动态配置时间
- 无向带权图的最小生成树算法——Prim及Kruskal算法思路
- leetcode 第一题:使用哈希表解决
- 141.linked list cycle
- Time To Get Up
- 使用VS2015的Visual Studio Installer打包