Hadoop之HBase快速入门

本文解决单机(standlone)运行HBase的故障问题。读者可以快速领略HBase的基本Shell命令。

第一步准备软件

机器环境:Ubuntu11.10+JDK1.6

下载软件:hbase-0.92.1.tar.gz

我的用户名为:cl

我的机器名为:thinkpad-zh

解压缩hbase:

$ tar xzf /home/cl/Downloads/hbase-0.92.1.tar.gz

复制到目录下:

/home/hbase-0.92.1

第二步 配置HBase

更改配置:

1)配置JDK路径

.../hbase-0.92.1/conf/hbase-env.sh

修改下面的行:

#exportJAVA_HOME=/usr/java/jdk1.6.0/

exportJAVA_HOME=/usr/local/java/jdk1.6.0_30

2)配置数据库文件路径

.../hbase-0.92.1/conf/hbasev-site.xml

修改为下面的:<configuration>

<property>

<name>hbase.rootdir</name>

<value>file:///home/cl/hbase_data</value>

</property>

</configuration>

第三步 使用命令行

1)启动hbase数据库

cl@thinkpad-zh:/home/hbase-0.92.1/bin$ ./start-hbase.sh

2)停止hbase数据库命令:

...$./stop-hbase.sh

3)常见问题

日志在:

.../hbase-0.92.1/logs/hbase-cl-master-thinkpad-zh.log

如果发现日志中出现:

... WARN org.apache.hadoop.hbase.master.AssignmentManager: Unable to find a viable location to assign region -ROOT-,,0.70236052

则后面无法创建表(create 'tablename' 会无限期等待)

此时需要修改:

$ sudo vi /etc/hosts

为:

127.0.0.1 localhost

#127.0.1.1thinkpad-zh

127.0.0.1thinkpad-zh

重新启动数据库(如果已经存在进程nnnn,则先  $ kill nnnn):cl@thinkpad-zh:/home/hbase-0.92.1/bin$./start-hbase.sh

startingmaster,loggingto/home/hbase-0.92.1/bin/../logs/hbase-cl-master-thinkpad-zh.out

4)运行hbase shell命令工具cl@thinkpad-zh:/home/hbase-0.92.1/bin$./hbaseshell

HBaseShell;enter'help<RETURN>'forlistofsupportedcommands.

Type"exit<RETURN>"toleavetheHBaseShell

Version0.92.1,r1298924,FriMar916:58:34UTC2012

5)创建表hbase(main):001:0>create'my_first_table','col1','col2'

0row(s)in1.6050seconds

hbase(main):002:0>

hbase(main):002:0>list'my_first_table'

TABLE

my_first_table

1row(s)in0.0150seconds

6)退出shell

hbase(main):003:0> exit

7)停止hbase数据库cl@thinkpad-zh:/home/hbase-0.92.1/bin$./stop-hbase.sh

stoppinghbase............

cl@thinkpad-zh:/home/hbase-0.92.1/bin$

相关推荐