www.cnblogs.com/ruiyqinrui

开源、架构、Linux C/C++/python AI BI 运维开发自动化运维。 春风桃李花 秋雨梧桐叶。“力尽不知热 但惜夏日长”。夏不惜,秋不获。@ruiY--秦瑞

python爬虫,C编程,嵌入式开发.hadoop大数据,桉树,onenebula云计算架构.linux运维及驱动开发.

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一、安装
        一般HBase最终都会需要与Hadoop集群整合在一起,所以Hadoop版本对HBase部署非常关键,不合适的Hadoop和HBase版本是无法工作的,Hadoop与HBase版本对应关系如下:

Table 2.1. Hadoop version support matrix

  HBase-0.92.x HBase-0.94.x HBase-0.96
Hadoop-0.20.205 S X X
Hadoop-0.22.x S X X
Hadoop-1.0.x S S S
Hadoop-1.1.x NT S S
Hadoop-0.23.x X S NT
Hadoop-2.x X S S

S = supported and tested,支持
X = not supported,不支持
NT = not tested enough,可以运行但测试不充分
        有了这个东西就可以开始选择版本安装了,这里选择hadoop-0.20.2和hbase-0.90.4。不言而喻,Java和Hadoop先安装是必须的,具体请参看这里,还有这里
        HBase镜像地址请参见这里,但是由于hbase-0.90.4版本比较老,需要从归档地址下载,点击这里下载。
        非常潇洒的是HBase跟Hadoop一样都是绿色版,直接解压到本地文件系统即可:
        #tar xzf hbase-0.90.4.tar.gz
        接下来的关键就是配置了。

二、配置
        HBase也有单机模式、伪分布模式等各种模式,这里以伪分布模式为例说明之,具体步骤如下。
        cd到conf目录下,修改hbase-env.h:
        export JAVA_HOME=/usr/java/jdk1.7.0_51
        export HBASE_CLASSPATH=/root/hadoop-0.20.2/conf
        export HBASE_MANAGES_ZK=true
        上面三项分别是jdk路径、hadoop配置文件路径、是否由hbase管理zookeeper而不需要单独的zookeeper。
        修改hbase-site.xml:
        <configuration>
            <property>
                <name>hbase.rootdir</name>
                <value>hdfs://v125006094.bja/hbase</value>
            </property>
            <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
            </property>
        </configuration>
        需要注意的是,hbase.rootdir的配置必须与hadoop的core-site.xml中fs.default.name的配置一致,否则会出现HMaster无法启动的问题,如果依然有这个问题的话就不要填IP了而填写hostname。
        此外,还必须保证/hbase目录存在即在HDFS中存在,这是HBase存储数据的目录,当然这个路径你可以视情况而定,具体如下:
       
        替换HBase/lib目录下的hadoop-0.20-append-rxxx.jar为hadoop-0.20.2-core.jar,否则会出现Hadoop与HBase协议不一致而导致HMaster启动异常。
        配置完了后,就可以启动HBase了。

    
三、启动
        需要注意的是,启动HBase前需要先启动Hadoop,确保Hadoop启动无误后,在bin下执行如下命令启动HBase:
        #./start-hbase.sh
        #jps
        确保HQuorumPeer、HRegionServer、HMaster都启动了。
        执行如下命令停止HBase:
        #./stop-hbase.sh

四、命令 
        在bin下执行如下命令即可进入hbase shell命令行:
        #./hbase shell
        hbase(main):010:0>
        //创建表格test和column family

        hbase(main):010:0> create 'test', 'cf'
        //显示表test
        hbase(main):010:0> list 'test'
        //插入数据,HBase中列由column family和列名以冒号间隔组成,即cf:a、cf:b
        hbase(main):010:0> put 'test', 'row1', 'cf:a', 'value1'        
        
hbase(main):010:0> put 'test', 'row2', 'cf:b', 'value2'
        //查询表test记录

        hbase(main):010:0> scan 'test'
        //查询一条表test记录,key为row1

        hbase(main):010:0> get 'test', 'row1'
        //删除表test
        hbase(main):010:0> disable 'test'
        hbase(main):010:0> drop 'test'

posted on 2014-03-07 22:03  秦瑞It行程实录  阅读(247)  评论(0编辑  收藏  举报
www.cnblogs.com/ruiyqinrui