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$