您的位置:首页 > 运维架构

Hadoop之HBase入门【官方文档翻译】

2014-12-04 19:02 543 查看

1.1. 快速入门

本手册描述了如何使用本地的文件系统来搭建一个单独的Hbase实例。它会引导你创建表,通过hbase 的shell脚本插入数据,和清空以及关闭你的hbase实例。

在我们继续进行之前, 确保你满足一下的先决条件。

检查IP

HBase需要将ip地址设置为127.0.0.1。 Ubuntu和一些其他发行版, 比如,默认的情况下ip地址会为 127.0.1.1 ,这将会给你带来麻烦.
在/etc/hosts中配置如下内容

127.0.0.1 localhost
127.0.0.1 ubuntu.ubuntu-domain ubuntu


1.1.1. 下载和解压最新的发行版本.

在Apache的官方网站选择下载镜像. 点击置顶的链接. 接下来会跳转到一个HBase的版本链接中。 点击名称为stable的文件夹和接下来下载文件夹中的以.tar.gz结尾的文件到本地文件系统,比如  
hbase-0.94.2.tar.gz
.
解压下载的文件到指定的目录。
$ tar xfz hbase-0.94.23.tar.gz
$ cd hbase-0.94.23

接下来你可以开始使用HBase.但是在启动之前,必须编辑
conf/hbase-site.xml
, 在该文件中配置你本地的特有的配置.设置 
hbase.rootdir路径
,HBase将会把数据写到这个目录,和设置 
hbase.zookeeper.property.dataDir
,
Zookeeper将会将数据写入到这个目录中:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///DIRECTORY/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/DIRECTORY/zookeeper</value>
</property>
</configuration>

Replace 
DIRECTORY
 in the above with the path to the directory you would have HBase and ZooKeeper write their data. By default, 
hbase.rootdir
 is
set to 
/tmp/hbase-${user.name}
 and similarly so for the default ZooKeeper data location which means you'll lose all your data whenever your server reboots unless you change it (Most operating systems clear 
/tmp
 on
restart).

1.1.2. Start HBase

Now start HBase:
$ ./bin/start-hbase.sh
starting Master, logging to logs/hbase-user-master-example.org.out

你现在应该运行一个hbase实例. 在单节点的模式下, HBase在同一个JVM虚拟机上运行所有的进程; 比如所有的HBase和Zookeeper进程。 HBase的日志存放在logs的子文件夹中. 特别是当启动HBase遇到问题的时候可以查看日志。

java是否已经安装?

以上的所有的操作都是建立在你已经在本机上安装了oracle的jdk1.6的版本之上的并且jdk是可以访问的。当你在控制台输入java的时候,你会看到关于如何运行Java程序的帮助内容(HBase需要Java 1.6)。加入这个条件没有满足,HBase不会启动.安装java,编辑conf/hbase-env.sh文件,取消注释JAVA_HOME并且配置为你本地安转的目录,重新尝试以上的步骤。

1.1.3. shell 脚本练习

通过脚本连接你安装好的hbase
$ ./bin/hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version: 0.90.0, r1001068, Fri Sep 24 13:55:42 PDT 2010

hbase(main):001:0>

输入help并按下回车键查看列出的shell命令和选项。至少浏览变量和命令行参数是如何在HBase 的shell脚本中如何传参数的。特别注意表名,行,列等等必须使用引号引用。
Create a table named 
test
 with a single column family named 
cf
. Verify its creation by listing all tables
and then insert some values.
hbase(main):003:0> create 'test', 'cf'
0 row(s) in 1.2200 seconds
hbase(main):003:0> list 'test'
..
1 row(s) in 0.0550 seconds
hbase(main):004:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.0560 seconds
hbase(main):005:0> put 'test', 'row2', 'cf:b', 'value2'
0 row(s) in 0.0370 seconds
hbase(main):006:0> put 'test', 'row3', 'cf:c', 'value3'
0 row(s) in 0.0450 seconds

在上面的案例中我们插入了三个值,每次一个。第一次插入是第一行,列是cf,值是value1.hbase中的列是由家庭簇--例子中的cf--后面跟着说明和列的限定词(a在这种情况下)
浏览插入表的数据。
hbase(main):007:0> scan 'test'
ROW        COLUMN+CELL
row1       column=cf:a, timestamp=1288380727188, value=value1
row2       column=cf:b, timestamp=1288380738440, value=value2
row3       column=cf:c, timestamp=1288380747365, value=value3
3 row(s) in 0.0590 seconds

查看单独的一行
hbase(main):008:0> get 'test', 'row1'
COLUMN      CELL
cf:a        timestamp=1288380727188, value=value1
1 row(s) in 0.0400 seconds

Now, disable and drop your table. This will clean up all done above.
现在删除你的表。将会清空表。
hbase(main):012:0> disable 'test'
0 row(s) in 1.0930 seconds
hbase(main):013:0> drop 'test'
0 row(s) in 0.0770 seconds

输入exit退出shell命令行。
hbase(main):014:0> exit


1.1.4. 停止HBase

运行脚本停止HBase.
$ ./bin/stop-hbase.sh
stopping hbase..............
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: