欢迎投稿

今日深度:

Hbase初探,

Hbase初探,


一.安装

选择一个 Apache 下载镜像,下载 HBase Releases.然后下载后缀为 bin.tar.gz 的文件; 例如 hbase-1.3.0-bin.tar.gz.

解压缩,然后进入到那个要解压的目录.
现在你已经可以启动HBase了。但是你可能需要先编辑 conf/hbase-site.xml 去配置hbase.rootdir,来选择HBase将数据写到哪个目录

<configuration>
<property>
    <name>hbase.rootdir</name>
    <value>file:///tmp/hbase</value>
  </property>
</configuration>

将 DIRECTORY 替换成你期望写文件的目录. 默认 hbase.rootdir 是指向 /tmp/hbase-${user.name} ,也就说你会在重启后丢失数据(重启的时候操作系统会清理/tmp目录)

二.启动

进入到bin目录下

root@s0:/usr/soft/hbase-1.0.2/bin# ./start-hbase.sh
starting master, logging to /usr/soft/hbase-1.0.2/bin/../logs/hbase-root-master-s0.out
root@s0:/usr/soft/hbase-1.0.2/bin# jps
5394 Jps
3078 NameNode
3356 ResourceManager
5310 HMaster

现在你运行的是单机模式的Hbaes。所有的服务都运行在一个JVM上,包括HBase和Zookeeper。HBase的日志放在logs目录,当你启动出问题的时候,可以检查这个日志。

三.shell操作

用shell连接你的HBase

root@s0:/usr/soft/hbase-1.0.2/bin# hbase shell
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/soft/hbase-1.0.2/lib/slf4j-log4j12-1.7.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/soft/hadoop-2.7.3/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.0.2, r76745a2cbffe08b812be16e0e19e637a23a923c5, Tue Aug 25 15:59:49 PDT 2015

输入 help 然后 可以看到一列shell命令。这里的帮助很详细,要注意的是表名,行和列需要加引号。

创建一个名为 test 的表,这个表只有一个 列族 为 cf。可以列出所有的表来检查创建情况,然后插入些值。

hbase(main):001:0> create 'test','cf'
0 row(s) in 0.5650 seconds

hbase(main):003:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.0980 seconds

hbase(main):006:0> put 'test', 'row2', 'cf:b', 'value2'
0 row(s) in 0.0090 seconds

hbase(main):007:0> put 'test', 'row3', 'cf:c', 'value3'
0 row(s) in 0.0410 seconds

以上我们分别插入了3行。第一个行key为row1, 列为 cf:a, 值是 value1。HBase中的列是由 列族前缀和列的名字组成的,以冒号间隔。例如这一行的列名就是a.

检查插入情况.

Scan这个表,操作如下

hbase(main):008:0> scan 'test'
ROW                      COLUMN+CELL                                                          
 row1                    column=cf:a, timestamp=1495265400699, value=value1                   
 row2                    column=cf:b, timestamp=1495265440355, value=value2                   
 row3                    column=cf:c, timestamp=1495265449951, value=value3                   
3 row(s) in 0.0260 seconds

Get一行,操作如下

hbase(main):005:0> get 'test','row1'
COLUMN                   CELL                                                                 
 cf:a                    timestamp=1495265400699, value=value1                                
1 row(s) in 0.0510 seconds

disable 再 drop 这张表,可以清除你刚刚的操作

hbase(main):006:0> disable 'test'
0 row(s) in 1.2640 seconds

hbase(main):007:0> drop 'test'
0 row(s) in 0.2040 seconds

关闭shell

hbase(main):008:0> exit
root@s0:/usr/soft/hbase-1.0.2/bin# 

4.停止

root@s0:/usr/soft/hbase-1.0.2/bin# ./stop-hbase.sh
stopping hbase....................
root@s0:/usr/soft/hbase-1.0.2/bin# jps
3078 NameNode
6540 Jps
3356 ResourceManager

www.htsjk.Com true http://www.htsjk.com/hbase/42506.html NewsArticle Hbase初探, 一.安装 选择一个 Apache 下载镜像,下载 HBase Releases.然后下载后缀为 bin.tar.gz 的文件; 例如 hbase-1.3.0-bin.tar.gz. 解压缩,然后进入到那个要解压的目录. 现在你已经可以启动HB...
相关文章
    暂无相关文章
评论暂时关闭