HBase介绍
HBase是⼀个分布式的、⾯向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论⽂“Bigtable:⼀个结构化数据的分布式存储系统”。就像Bigtable利⽤了Google⽂件系统(File System)所提供的分布式数据存储⼀样,HBase在Hadoop之上提供了类似于Bigtable的能⼒。HBase是Apache的Hadoop项⽬的⼦项⽬。HBase不同于⼀般的关系数据库,它是⼀个适合于⾮结构化数据存储的数据库。另⼀个不同的是HBase基于列的⽽不是基于⾏的模式。
HBase单机版安装
环境
操作系统 :CentOS 7.4 Java版本:JDK 1.8
1、下载HBase,可以去官⽹下载
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⽂件,并取消注释以#exportJAVA_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内容如下:
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.
到此,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.12 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
因篇幅问题不能全部显示,请点此查看更多更全内容