HBase是一个分布式的、面向列的开源数据库,该技术来源于Chang et al所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。

             HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构存储集群。

             HBase有三种模式:单机模式,伪分布式模式,完全分布式模式。下面介绍完全分布式安装。

             HBase安装前需要安装Hadoop,安装Hadoop请参照:

             HBase安装步骤如下:

             第一步:下载HBase包  tar -zxvf Hbase*.tar.gz  解压HBase

             第二步修改conf目录下的配置文件:

             a)hbase-env.sh

                     修改内容:        


1. #java安装目录  
2. export JAVA_HOME=/usr/java/jdk1.6.0_24  
3. #Hbase日志目录  
4. export HBASE_LOG_DIR=/root/hadoop/hbase-0.94.6.1/logs  
5. #如果使用HBase自带的Zookeeper值设成true 如果使用自己安装的Zookeeper需要将该值设为false  
6. export HBASE_MANAGES_ZK=true


              b)hbase-site.xml

1. <configuration>  
2. <property>  
3. <name>hbase.rootdir</name>  
4. <value>hdfs://master: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>hdfs://master:60000</value>  
13. </property>  
14. <property>  
15. <name>hbase.zookeeper.quorum</name>  
16. <value>master,slave,slave1</value>  
17. </property>  
18. </configuration>  
 

        

 
                    hbase.rootdir指定Hbase数据存储目录
                    hbase.cluster.distributed 指定是否是完全分布式模式,单机模式和伪分布式模式需要将该值设为false
                    hbase.master指定Master的位置
                    hbase.zookeeper.quorum 指定zooke的集群,多台机器以逗号分隔
            c)修改conf下的regionservers文件
                     master
                     slave
                     slave1           d)再修改Hadoop hdfs-site.xml下的一个属性值。(记得其他的datanode也要进行修改)


<property> 
                     <name>dfs.datanode.max.xcievers</name> 
                     <value>4096</value> 
                </property>


                该参数限制了datanode所允许同时执行的发送和接受任务的数量,缺省为256,hadoop-defaults.xml中通常不设置这个参数。这个限制看来实际有些偏小,高   负载

           e)拷贝hbase到所有的节点

tar zcvf hbase-0.92.1.tar.gz hbase-0.92.1
          scp hbase-0.92.1.tar.gz hadoop@192.168.0.3:~/
          scp hdfs-site.xml hadoop@192.168.0.3:~/

         然后进行相应的解压、替换即可。

         其他datanode节点按照相同的操作即可。

  f)启动顺序:先启动Hadoop-》hbase,如果使用自己安装的zookeeper启动顺序是:Hadoop-》zookeeper-》hbase

停止顺序:hbase->zookeeper->hadoop
                   按照上面的顺序启动:
                   master主机上jps:
                  1145 SecondaryNameNode
                  1248 JobTracker
                   2025 Jps
                   1756 HMaster
                   1931 HRegionServer
                    965 NameNode                  节点上jps:
                  1434 DataNode
                  1557 TaskTracker
                  1694 HQuorumPeer
                   1857 Jps                   主机进到hbase的bin目录
                    运行./hbase shell
 
                HBase Shell; enter 'help<RETURN>' for list of supported commands. 

                Type "exit<RETURN>" to leave the HBase Shell 

                 Version 0.94.6.1, r1464658, Thu Apr  4 10:58:50 PDT 2013 


                  hbase(main):001:0>


                 这就说明hbase已经成功安装