首页 > 代码库 > HBase入门【官方文档翻译】

HBase入门【官方文档翻译】

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="http://www.mamicode.com/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.shstarting 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 shellHBase Shell; enter ‘help<RETURN>‘ for list of supported commands.Type "exit<RETURN>" to leave the HBase ShellVersion: 0.90.0, r1001068, Fri Sep 24 13:55:42 PDT 2010hbase(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 secondshbase(main):003:0> list ‘test‘..1 row(s) in 0.0550 secondshbase(main):004:0> put ‘test‘, ‘row1‘, ‘cf:a‘, ‘value1‘0 row(s) in 0.0560 secondshbase(main):005:0> put ‘test‘, ‘row2‘, ‘cf:b‘, ‘value2‘0 row(s) in 0.0370 secondshbase(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+CELLrow1       column=cf:a, timestamp=1288380727188, value=http://www.mamicode.com/value1>

查看单独的一行

hbase(main):008:0> get ‘test‘, ‘row1‘COLUMN      CELLcf:a        timestamp=1288380727188, value=http://www.mamicode.com/value1>

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 secondshbase(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.shstopping hbase..............

HBase入门【官方文档翻译】