hbase伪分布式安装详解及错误分析

安装环境:centos6.0+jdk1.6.0_29+hadoop1.0.0+hbase0.90.4
已经安装好centos6.0+jdk1.6.0_29+hadoop1.0.0环境

1.到官方网站下载好hbase-0.90.4.tar.gz解压hbase安装包到一个可用目录(如:/opt)

  1. cd /opt  
  2. tar zxvf hbase-0.90.4.tar.gz  
  3. chown -R hadoop:hadoop /opt/hbase-0.90.4  

2.设置环境变量:

  1. vim ~/.bashrc    
  2. export HBASE_HOME=/opt/hbase-0.90.4    #根据自己的jdk安装目录设置    
  3. PAHT=$PATH:$HBASE_HOME/bin   
3.hbase配置:
在$HBASE_HOME/conf目录中,根据自己的jdk安装情况配置好hbase-env.sh中JAVA_HOME,如下所示:

  1. # The java implementation to use.  Java 1.6 required.  
  2. export JAVA_HOME=/usr/local/jdk/jdk1.6.0_29  

在$HBASE_HOME目录下的conf目录中,确保hbase-site中的hbase.rootdir的主机和端口号与$HADOOP_HOME目录下conf目录中core-site.xml中的fs.default.name的主机和端口号一致,添加如下内容:

  1. <configuration>  
  2. <property>  
  3.  <name>hbase.rootdir</name>  
  4.  <value>hdfs://localhost:9000/hbase</value>  
  5. </property>  
  6. <property>  
  7.  <name>hbase.cluster.distributed</name>  
  8.  <value>true</value>  
  9. </property>  
  10. <property>  
  11. <name>hbase.master</name>  
  12. <value>localhost:60000</value>  
  13. </property>  
  14. <property>  
  15.  <name>hbase.zookeeper.quorum</name>  
  16.  <value>localhost</value>  
  17. </property>  
  18. </configuration>  


3.先启动hadoop,再启动hbase:

  1. <pre name="code" class="html">$start-all.sh        #启动hadoop  
  2. $jps                 #查看hadoop启动情况,确认DataNode,SecondaryNameNode,DataNode,JobTracker,TaskTracker全部启动  
  3. 31557 DataNode  
  4. 31432 NameNode  
  5. 31902 TaskTracker  
  6. 31777 JobTracker  
  7. 689 Jps  
  8. 31683 SecondaryNameNode  
  9. $start-hbase.sh       #确认hadoop完全启动后启动hbase  
  10. $jps                  #查看hbase启动情况,确认HQuorumPeer,HMaster,HRegionServer全部启动  
  11. 31557 DataNode  
  12. 806 HQuorumPeer  
  13. 31432 NameNode  
  14. 853 HMaster  
  15. 31902 TaskTracker  
  16. 950 HRegionServer  
  17. 1110 Jps  
  18. 31777 JobTracker  
  19. 31683 SecondaryNameNode  
  20. $ hbase               #查看hbase命令  
  21. Usage: hbase <command>  
  22. where <command> is one of:  
  23.   shell            run the HBase shell  
  24.   zkcli            run the ZooKeeper shell  
  25.   master           run an HBase HMaster node  
  26.   regionserver     run an HBase HRegionServer node  
  27.   zookeeper        run a Zookeeper server  
  28.   rest             run an HBase REST server  
  29.   thrift           run an HBase Thrift server  
  30.   avro             run an HBase Avro server  
  31.   migrate          upgrade an hbase.rootdir  
  32.   hbck             run the hbase 'fsck' tool  
  33.   classpath        dump hbase CLASSPATH  
  34.  or  
  35.   CLASSNAME        run the class named CLASSNAME  
  36. Most commands print help when invoked w/o parameters.  
  37.   
  38. $hbase shell                    #启动hbase shell  
  39. HBase Shell; enter 'help<RETURN>' for list of supported commands.  
  40. Type "exit<RETURN>" to leave the HBase Shell  
  41. Version 0.90.4, r1150278, Sun Jul 24 15:53:29 PDT 2011  
  42.   
  43. hbase(main):001:0>  
 

 

hbase启动可能会出错导致失败(我在hadoop0.20.203.0环境下搭hbase0.90.4就出现过这种问题,hadoop1.0.0没测试,直接做了下面的步骤),这时需要将$HADOOP_HOME目录下的hadoop-core-1.0.0.jar和$HADOOP_HOME/lib目录下的commons-configuration-1.6.jar拷贝到$HBASE_HOME/lib目录下,删除$HBASE_HOME/lib目录下的hadoop-core-0.20-append-r1056497.jar,避免版本冲突和不兼容。

4.练习hbase shell

  1. hbase(main):001:0> create 'test','data'   #创建一个名为‘test’的表,包含一个名为‘data’的列  
  2. 0 row(s) in 2.0960 seconds  
  3.   
  4. hbase(main):002:0> list              #输出用户空间所有表,验证表是否创建成功  
  5. TABLE                                                                             
  6. test                                                                              
  7. 1 row(s) in 0.0220 seconds  
  8. # 在列族data上的不同行和列插入三项数据  
  9. hbase(main):003:0> put 'test','row1','data:1','value1'    
  10. 0 row(s) in 0.2970 seconds  
  11.   
  12. hbase(main):004:0> put 'test','row2','data:2','value2'  
  13. 0 row(s) in 0.0120 seconds  
  14.   
  15. hbase(main):005:0> put 'test','row3','data:3','value3'  
  16. 0 row(s) in 0.0180 seconds  
  17.   
  18. hbase(main):006:0> scan 'test'    #查看数据插入结果  
  19. ROW                   COLUMN+CELL                                                 
  20.  row1                 column=data:1, timestamp=1330923873719value=value1        
  21.  row2                 column=data:2, timestamp=1330923891483value=value2        
  22.  row3                 column=data:3, timestamp=1330923902702value=value3        
  23. 3 row(s) in 0.0590 seconds  
  24.   
  25. hbase(main):007:0> disable 'test'    #禁用表test  
  26. 0 row(s) in 2.0610 seconds  
  27.   
  28. hbase(main):008:0> drop 'test'      #删除表test  
  29. 0 row(s) in 1.2120 seconds  
  30.   
  31. hbase(main):009:0> list             #确认表test被删除  
  32. TABLE                                                                             
  33. 0 row(s) in 0.0180 seconds  
  34.   
  35. hbase(main):010:0> quit            #退出hbase shell  
5.停止hbase实例:

  1. $stop-hbase.sh   
  2. stopping hbase......  
  3. localhost: stopping zookeeper.  
6.查看hdfs目录,你会发现在根目录下多了一个hbase的目录

  1. $ hadoop fs -ls /  
  2. Found 4 items  
  3. drwxr-xr-x   - hadoop supergroup          0 2012-03-05 13:05 /hbase   #hbase生成目录  
  4. drwxr-xr-x   - hadoop supergroup          0 2012-02-24 17:55 /home  
  5. drwxr-xr-x   - hadoop supergroup          0 2012-03-04 20:44 /tmp  
  6. drwxr-xr-x   - hadoop supergroup          0 2012-03-04 20:47 /user  

 

如果启动hbase时无法启动HRegionServer的话,请修改$HBASE_HOME/conf下的regionservers文件,将内容改成你hadoop运行主机的名字,只要和hadoop的配置一致即可。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值