zoukankan      html  css  js  c++  java
  • HBase

    HBase单机模式

     1)安装JDK

    2)解压  

      $ tar xfz hbase-0.90.4.tar.gz

      $ cd hbase-0.90.4

    3)修改HBase配置文件

      1、 hbase-env.sh

        取消配置JDK的注释并做并如下修改(我的JDK安装路径):

        export JAVA_HOME=/usr/Java/jdk1.6.0_27/

      2、 hbase-site.xml

        因为是单机启动,所以只设定了HBase写入的本地路径,修改如下:

        <?xml version="1.0"?>

        <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

        <configuration>

          <property>

            <name>hbase.rootdir</name>

            <value>/home/hbase</value>

          </property>

        </configuration>

    4)启动hbase

       bin/start-hbase.sh

    shell实践

    $ ./bin/hbase shell
    hbase(main):008:0> create 'test','cf'  //创建表名及列族名
    0 row(s) in 8.7610 seconds
    
    hbase(main):009:0> list 'test'
    TABLE                                                                                                                                                                                                             
    test                                                                                                                                                                                                              
    1 row(s) in 0.2100 seconds
    
    hbase(main):010:0> put 'test', 'row1', 'cf:a', 'value1'    插入数据
    0 row(s) in 0.7100 seconds
    
    hbase(main):011:0> put 'test', 'row2', 'cf:b', 'value2'
    0 row(s) in 0.1020 seconds
    
    hbase(main):012:0> put 'test', 'row3', 'cf:c', 'value3'
    0 row(s) in 0.2550 seconds
    
    hbase(main):013:0> scan 'test'
    ROW                                                   COLUMN+CELL                                                                                                                                                 
     row1                                                 column=cf:a, timestamp=1493985320734, value=value1                                                                                                          
     row2                                                 column=cf:b, timestamp=1493985332454, value=value2                                                                                                          
     row3                                                 column=cf:c, timestamp=1493985346697, value=value3                                                                                                          
    3 row(s) in 0.4810 seconds
    
    hbase(main):014:0> cretae 
    NameError: undefined local variable or method `cretae' for #<Object:0x3fa76c61>
    
    hbase(main):015:0> create 'newTable' ,'a','b','c'
    0 row(s) in 1.6750 seconds
    
    hbase(main):016:0> put 'newTable','row1','a:1','A'
    0 row(s) in 0.2150 seconds
    
    hbase(main):017:0> scan 'newTable'
    ROW                                                   COLUMN+CELL                                                                                                                                                 
     row1                                                 column=a:1, timestamp=1493985596005, value=A                                                                                                                
    1 row(s) in 0.1340 seconds
    
    hbase(main):018:0> put 'newTable','row1','a:2','A2'
    0 row(s) in 0.0430 seconds
    
    hbase(main):019:0> scan 'newTable'
    ROW                                                   COLUMN+CELL                                                                                                                                                 
     row1                                                 column=a:1, timestamp=1493985596005, value=A                                                                                                                
     row1                                                 column=a:2, timestamp=1493985663261, value=A2                                                                                                               
    1 row(s) in 0.1680 seconds
    
    hbase(main):020:0> put 'newTable','row1','b:2','B2'
    0 row(s) in 0.0700 seconds
    
    hbase(main):021:0> scan 'newTable'
    ROW                                                   COLUMN+CELL                                                                                                                                                 
     row1                                                 column=a:1, timestamp=1493985596005, value=A                                                                                                                
     row1                                                 column=a:2, timestamp=1493985663261, value=A2                                                                                                               
     row1                                                 column=b:2, timestamp=1493985694548, value=B2                                                                                                               
    1 row(s) in 0.1370 seconds
    
    hbase(main):022:0> disable 'test'     表失效
    0 row(s) in 2.1170 seconds
    
    hbase(main):023:0> drop 'test'        删除表
    0 row(s) in 2.1620 seconds
    
    hbase(main):024:0> list 'test'
    TABLE                                                                                                                                                                                                             
    0 row(s) in 0.1080 seconds
    
    hbase(main):025:0> quit   退出shell

     关闭hbase    

      $ ./bin/stop-hbase.sh

    伪分布式及全分布式模式

    参考官网:http://hbase.apache.org/book.html#_architecture

    HBase数据模型

    在hbase中,数据被存储在表中,表中有行及字段,hbase更像是一个多维的map。

    包含有多个行。

    hbase中行包含一个key和至少一个字段及相关值,row key按照字母排序保证相关row就近存储。大部分情况下row key按照域名存储。

    字段

    包含一个列族和一个列的修饰,如cf:a

    列族 Column Family

    包含了一系列相关字段及值,方便配置是否将其值放入缓存,压缩,以及编码row key。

    Column Qualifier

    追加到列族的后面,每行的Column Qualifier都是易变的。

    cell

    代表值得版本,由row key ,Column Family ,Column Qualifier,value以及timestamp组成。

    timestamp

    指定value版本,当put新值时随之改变。

    java操作Hbase

    http://www.cnblogs.com/ylqmf/archive/2012/02/18/2357537.html

    参考:http://blog.csdn.net/god_wot/article/details/6829427

    官网:http://hbase.apache.org/book.html#_architecture

  • 相关阅读:
    Java数据类型+练习
    在vue中使用echars不能自适应的解决方法
    使用js将Unix时间戳转换为普通时间
    vue-router2.0二级路由的简单使用
    vue父组件向子组件传递参数
    vue子组件向父组件传递参数的基本方式
    vuex----mutation和action的基本使用
    vuex----------state的基础用法
    数组判断重复
    在vue项目中快速使用element UI
  • 原文地址:https://www.cnblogs.com/gaojy/p/6733841.html
Copyright © 2011-2022 走看看