HBase介绍
HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
文档地址:http://hbase.apache.org/book.html#quickstart
HBase单机版安装
环境
操作系统 :CentOS 7.4
Java版本:JDK 1.8
1、下载HBase,可以去官网下载
命令:wget -b https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.2.1/hbase-2.2.1-bin.tar.gz
2、解压缩下载的文件,然后转到新创建的目录
命令:tar xzvf hbase-2.2.1-bin.tar.gz
命令:mv hbase-2.2.1 /data/soft/
命令:cd /data/soft/hbase-2.2.1/
3、由于HBase依赖JAVA_HOME环境变量,所以要导入Java环境变量,编辑conf/hbase-env.sh文件,并取消注释以#export JAVA_HOME =开头的行,然后将其设置为Java安装路径。
命令:vim conf/hbase-env.sh
export JAVA_HOME=/data/soft/jdk1.8.0_181/
4、编辑conf/hbase-site.xml,这是主要的HBase配置文件。这时,您需要在本地文件系统上指定HBase和ZooKeeper写入数据的目录并确认一些风险。默认情况下,在/tmp下创建一个新目录。许多服务器配置为在重新引导时删除/ tmp的内容,因此您应该将数据存储在其他位置。
hbase-site.xm内容如下:
<configuration> <!-- hbase存放数据目录 --> <property> <name>hbase.rootdir</name> <value>file:///data/soft/hbase-2.2.1/hbase</value> </property> <!-- ZooKeeper数据文件路径 --> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/data/soft/hbase-2.2.1/zookeeper</value> </property> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> <description> Controls whether HBase will check for stream capabilities (hflush/hsync). Disable this if you intend to run on LocalFileSystem, denoted by a rootdir with the 'file://' scheme, but be mindful of the NOTE below. WARNING: Setting this to false blinds you to potential data loss and inconsistent system state in the event of process and/or node failures. If HBase is complaining of an inability to use hsync or hflush it's most likely not a false positive. </description> </property> </configuration>
到此,HBase单节点的配置就完成了
5、启动HBase
启动命令:./bin/start-hbase.sh
关闭命令:./bin/stop-hbase.sh
使用jps命令查看master是否启动成功
为了方便也可以将hbase也加入了环境变量中,方便使用,在/etc/profile文件中,增加一下内容
1 export HBASE_HOME=/data/soft/hbase-2.2.1 2 export PATH=$HBASE_HOME/bin:$PATH
是环境变量生效,命令:source /etc/profile
6、使用浏览器访问HBase的Web UI,地址:127.0.0.1:16010/master-status,(默认端口:16010)
HBase使用
1、连接到HBase,使用hbase shell
位于HBase安装目录bin /目录中的命令连接到正在运行的HBase实例。
命令:./bin/hbase shell
2、显示HBase Shell帮助文本。键入help
并按Enter键,以显示HBase Shell的一些基本用法信息以及一些示例命令。注意,表名,行,列都必须用引号引起来。
命令:help
3、创建一个表,使用create
命令创建一个新表。您必须指定表名称和ColumnFamily名称。
命令:create 'test', 'cf'
4、列出有关表的信息,使用list
命令确认您的表存在
命令:list 'test'
现在使用describe
命令查看详细信息,包括配置默认值
命令:describe 'test'
5、将数据放入表中。要将数据放入表中,请使用put
命令。
命令:put 'test', 'row1', 'cf:a', 'value1'
命令:put 'test', 'row2', 'cf:b', 'value2'
命令:put 'test', 'row3', 'cf:c', 'value3'
6、一次扫描表中的所有数据,从HBase获取数据的一种方法是扫描。使用scan
命令扫描表中的数据。您可以限制扫描范围,但是现在,所有数据都已获取。
命令:scan 'test'
7、获取单行数据。要一次获取一行数据
命令:get 'test', 'row1'
8、禁用表格。如果要删除表或更改其设置,以及在某些其他情况下,则需要先使用disable
命令禁用该表。您可以使用enable
命令重新启用它。
禁用命令:disable 'test'
启用命令:enable 'test'
9、要删除(删除)表,使用drop
命令
命令:drop 'test'
10、退出HBase Shell。要退出HBase Shell并从群集断开连接,请使用以下quit
命令。HBase仍在后台运行。
命令:quit