• hbase安装


    一、安装
            一般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'

  • 相关阅读:
    “LM/w3svc/1/root /***” 别名已存在
    Dawn of a New Day
    线程池(java.util.concurrent.ThreadPoolExecutor)的使用
    放心走吧,谷歌中国
    实现MySQL允许远程连接
    Google Engineer Gets $6 Million For Not Going To Facebook
    mysql主从同步出现Slave_IO_Running: Connecting的解决思路
    解决eclipse/sts加入@Controller注解后alt+/快捷键的提示功能失效
    Maven异常:Missing artifact org.slf4j:slf4japi:jar:1.7.25以及properties标签作用
    eclipse和sts使用alt+/代码提示,有两个相同的提示
  • 原文地址:https://www.cnblogs.com/ruiy/p/hbase.html
Copyright © 2020-2023  润新知