NoSQL数据库之:HBase
一、NoSQL的基础、常见的NoSQL数据库
1、什么是NoSQL数据库?
(*)基于Key-Value来保存数据
关系型数据库:基于关系模型 ---> 二维表
(*)NoSQL不支持事务
2、常见的NoSQL数据库
(1)HBase:基于HDFS、面向列的NoSQL数据库
表 ---> 目录
数据---> 文件
(2)Redis:基于内存的一个NoSQL数据库,支持持久化(RDB、AOF)
前身:MemCached(不支持持久化)
(3)MongoDB:文档(BSON文档,就是JSON的二进制)型的NoSQL
举例:设计数据库,保存电影的信息
(4)Cassandra:面向列的NoSQL数据库
二、HBase的表结构和体系结构
1、HBase的表结构:Google的三篇论文的时候:BigTable 大表
2、HBase在ZK中保存数据
(*)配置信息、HBase集群结构信息
(*)表的元信息
(*)实现HBase的HA:high avaibility 高可用性
三、搭建HBase环境
(1)解压: tar -zxvf hbase-1.3.1-bin.tar.gz -C ~/training/
(2)设置环境变量 vi ~/.bash_profile
HBASE_HOME=/root/training/hbase-1.3.1
export HBASE_HOME
PATH=$HBASE_HOME/bin:$PATH
export PATH
1、本地模式: 不需要HDFS、直接把数据存在操作系统
hbase-env.sh
28 export JAVA_HOME=/root/training/jdk1.8.0_144
hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>file:///root/training/hbase-1.3.1/data</value>
</property>
2、伪分布模式
hbase-env.sh
129 export HBASE_MANAGES_ZK=true
hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.157.11:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>192.168.157.11</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
regionservers
192.168.157.11
3、全分布模式
hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.157.12:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>192.168.157.12</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>hbase.master.maxclockskew</name>
<value>180000</value>
</property>
regionservers
192.168.157.13
192.168.157.14
scp -r hbase-1.3.1/ root@bigdata13:/root/training
scp -r hbase-1.3.1/ root@bigdata14:/root/training
4、HBase的HA
不需要额外配置,只用在其中一个从节点上单点启动Hmaster
bigdata13:hbase-daemon.sh start master
四、HBase在ZK中保存的数据和HA
五、操作HBase
1、Web Console网页:端口:16010 (早期的版本中:60010)
2、命令行
(*)创建表: create 'students','info','grade'
list
查看表结构
desc 'students'
describe 'students'
问题:在Oracle数据库中,desc emp和describe emp有区别吗?
desc 是SQL*PLUS语句,可以缩写
describe 是SQL语句
SQL*PLUS语句和SQL语句有什么区别?
(*)插入数据:put
(*)查询数据:
scan 相当于:select * from students
get 相当于 select * from students where rowkey=??
(*)清空表中的数据
问题:在Oracle数据库,清空表的数据有几种方式? delete和truncate语句
delete和truncate语句什么区别?
1、delete是DML(可以回滚),truncate是DDL(不可以回滚)
2、delete会产生碎片;truncate不会
3、delete不会释放空间;truncate会
4、delete可以闪回(flashback),truncate不可以闪回
truncate 'students' -----> 本质: 先删除表,再重建
日志:
Truncating 'students' table (it may take a while):
- Disabling table...
- Truncating table...
0 row(s) in 4.0840 seconds
旧版本HBase
Truncating 'students' table (it may take a while):
- Disabling table...
- Dropping table...
- Creating table ...
(*)删除表:disable 'students'
drop 'students'
3、Java API(HBase)
六、数据保存的过程(一定注意:Region分裂)
七、HBase的过滤器(Java程序)
八、HBase上的MapReduce
六、数据保存的过程(一定注意:Region分裂)
七、HBase的过滤器(Java程序)
1、准备实验的数据
2、列值过滤器
列名前缀过滤器
多个列名前缀过滤器
行键过滤器
3、组合过滤器
八、HBase上的MapReduce
1、建立表
create 'word','content'
put 'word','1','content:info','I love Beijing'
put 'word','2','content:info','I love China'
put 'word','3','content:info','Beijing is the capital of China'
2、结果:create 'stat','content'
注意:export HADOOP_CLASSPATH=$HBASE_HOME/lib/*:$CLASSPATH
- 大小: 66.2 KB
- 大小: 126.5 KB
- 大小: 58.4 KB
- 大小: 54.7 KB
- 大小: 63.7 KB
分享到:
相关推荐
比较详细的HBase学习笔记,精心制作 HBase是一个分布式的、面向列的开源数据库,源于google的一篇论文《bigtable:一个结构化数据的分布式存储系统》。HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其...
个人笔记整理(带目录),共8个章节: 一.Hbase快速入门 二.Apache HBase配置 三.Hbase数据存储 四.HBase协处理器与二级索引 五.PHOENIX操作HBASE 六.HBase设计与优化 七.HBase与Spark集成 八.Trafodion操作HBase 共146...
hbase汇总整理,本文亲自整理,没有坑
NULL 博文链接:https://alleyz.iteye.com/blog/2249350
Hbase为Hadoop生态的存储引擎,为大数据系统提供了在线存储能力,为海量数据存储提供了很好的支撑。hbase系统架构也非常值得学习和借鉴,值得学习研究。
自己在大数据培训班学习整理的笔记,比较详细,适合新手学习,我感觉还是挺有帮助的,希望可以帮助到你
IT十八掌大数据第三期配套课堂笔记! 1 、HBase的特点 2 、HBase访问接口 3 、HBase存储结构与格式 4 、HBase设计 5 、关键算法和流程 6 、HBase安装 7、HBase的Shell操作 8、HBase客户端
- HBase介绍 - HBase内部组成 - 安装运行HBase (单击、伪分布、完全分布式) - Shell 命令操作 - HBase 客户端 API - HBase 客户端API:管理功能 - 日期操作
docker版hbase集群构建,从docker安装开始,再到docker中下载并运行hadoop镜像,之后下载并配置hbase。最后对整个流程做总结,遇到的问题,以及一些docker基础知识和hbase教程。
hbase_常用配置参数_以及学习笔记讲解_以及各种原理图
Hadoopm, Hdfs,Hbase,Hive,Spark 各个组件开发过程学习笔记
Hbase HLog源代码阅读笔记 HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)...
集合、NIO、Netty、Thread、MySql、Hive、HBase、Kafka、Spark、Fink等学习笔记
学习数据采集工具(ETL)Sqoop并使用多年后,写的一个学习笔记,整理了基本的要点,和操作使用手册,方便初学者快速掌握。
大数据学习笔记 包含Hadoop Hbase kafka flume
这是 Hbase 的入门基础学习笔记。对入门了解有一定的帮助,如果需要深入学习或已经对 hbase 有比较深入的了解,可以不用考虑这个文档。
Hadoopm, Hdfs,Hbase,Hive,Spark 各个组件开发过程学习笔记
文本详细分析了hadoop的基本构成和原理,hbase的基本原理和常用命令,hive的原理和常用命令等。
这是一个大牛的学习笔记,讲解详细,思路清晰,按步就班,是学习hadoop hbase的入门资料,值得入门人员拥用!
HugeGraph学习笔记二1