zoukankan      html  css  js  c++  java
  • HBase配置和使用

    参考官方文档

    整体实现框架

    图1
    以下几个为组成部件

    21892 HMaster
    22028 HRegionServer
    21553 QuorumPeerMain
    2366  NameNode
    2539  DataNode
    

    配置

    1.配置 hbase-env.sh

    # JAVA_HOME
    export JAVA_HOME=/opt/softwares/jdk1.8.0_141
    
    # 使用自己的 Zookeeper
    export HBASE_MANAGES_ZK=false
    

    2.配置 hbase-site.xml(Example Distributed HBase Cluster)

    <configuration>
      <!--根目录,在HDFS的路径-->
      <property>
        <name>hbase.rootdir</name>
        <value>hdfs://cen-ubuntu.cenzhongman.com:8020/hbase</value>
      </property>
      <!--是否分布式-->
      <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
      </property>
      <!--所有节点,逗号隔开-->
      <property>
        <name>hbase.zookeeper.quorum</name>
        <value>cen-ubuntu.cenzhongman.com</value>
      </property>
    </configuration>
    

    3.配置 regionservers 类似(Slaves)

    cen-ubuntu
    

    启动

    1.启动 Zookeper server

    $ bin/zkServer.sh start
    

    2.启动 HBase

    $ bin/start-hbase.sh
    

    3.Web 查看

    $ hostname:60010
    

    使用

    基础

    1.Connect to HBase.

    Connect to your running instance of HBase using the hbase shell command, located in the bin/ directory of your HBase install. In this example, some usage and version information that is printed when you start HBase Shell has been omitted. The HBase Shell prompt ends with a > character.

    $ ./bin/hbase shell
    hbase(main):001:0>
    

    2.Display HBase Shell Help Text.

    Type help and press Enter, to display some basic usage information for HBase Shell, as well as several example commands. Notice that table names, rows, columns all must be enclosed in quote characters.

    hbase(main):001:0> help
    hbase(main):001:0> help 'create'
    

    3.List Information About your Table

    Use the list command to
    
    hbase(main):002:0> list 'test'
    TABLE
    test
    1 row(s) in 0.0180 seconds
    
    => ["test"]
    

    1.Create a table.

    Use the create command to create a new table. You must specify the table name and the ColumnFamily name.

    hbase(main):001:0> create 'test', 'cf'
    0 row(s) in 0.4170 seconds
    
    => Hbase::Table - test
    

    2.Put data into your table.

    To put data into your table, use the put command.

    # 表名   RowKey   列簇名[:列名]  值   [timeStamp]可指定,默认为时间戳
    hbase(main):003:0> put 'test', 'row1', 'cf:a', 'value1'
    0 row(s) in 0.0850 seconds
    
    hbase(main):004:0> put 'test', 'row2', 'cf:b', 'value2'
    0 row(s) in 0.0110 seconds
    
    hbase(main):005:0> put 'test', 'row3', 'cf:c', 'value3'
    0 row(s) in 0.0100 seconds
    

    查询(三种方式)

    1.Scan the table for all data at once.全表扫描

    One of the ways to get data from HBase is to scan. Use the scan command to scan the table for data. You can limit your scan, but for now, all data is fetched.

    hbase(main):006:0> scan 'test'
    ROW                                      COLUMN+CELL
     row1                                    column=cf:a, timestamp=1421762485768, value=value1
     row2                                    column=cf:b, timestamp=1421762491785, value=value2
     row3                                    column=cf:c, timestamp=1421762496210, value=value3
    3 row(s) in 0.0230 seconds
    

    2.Get a single row of data.单行查询(最快速)

    To get a single row of data at a time, use the get command.

    # 表名  RowKey  [列簇名[:列名]]  [timeStamp]
    hbase(main):007:0> get 'test', 'row1'
    COLUMN                                   CELL
     cf:a                                    timestamp=1421762485768, value=value1
    1 row(s) in 0.0350 seconds
    

    3.范围查询

    给定条件按范围进行列查询

    hbase(main):007:0> scan 'test' ,{STARTROW => 'xyz'}
    

    1.Disable a table.

    If you want to delete a table or change its settings, as well as in some other situations, you need to disable the table first, using the disable command. You can re-enable it using the enable command.

    hbase(main):008:0> disable 'test'
    0 row(s) in 1.1820 seconds
    
    hbase(main):009:0> enable 'test'
    0 row(s) in 0.1770 seconds
    

    Disable the table again if you tested the enable command above:

    hbase(main):010:0> disable 'test'
    0 row(s) in 1.1820 seconds
    

    2.Drop the table.

    To drop (delete) a table, use the drop command.

    hbase(main):011:0> drop 'test'
    0 row(s) in 0.1370 seconds
    

    3.Delete Data

    To Delect data from table.

    # 删除一行中一列数据(不能根据列簇所属的列的数据,但是能删除列簇的自己数据)
    hbase(main):011:0> delete 't1','r1','c1',['ts1']
    
    # 删除整行数据
    hbase(main):011:0> deleteall 't1','r1'
    

    Exit the HBase Shell.

    To exit the HBase Shell and disconnect from your cluster, use the quit command. HBase is still running in the background.

    hbase(main):007:0> quit/exit
    

    Stop HBase

    In the same way that the bin/start-hbase.sh script is provided to conveniently start all HBase daemons, the bin/stop-hbase.sh script stops them.

    $ ./bin/stop-hbase.sh
    stopping hbase....................
  • 相关阅读:
    第三章 达瑞,一个很能挣钱的男孩
    入门代码教程第一节 如何:定义服务协定
    第二节 Windows Communication Foundation 基础概念
    入门代码教程第四节 如何:创建客户端
    BZOJ:2186: [Sdoi2008]沙拉公主的困惑
    DNN学习笔记代码学习:Provider 荣
    DNN学习笔记代码学习:DataCache 荣
    DNN学习笔记代码学习:ProviderConfiguration 荣
    DNN学习笔记代码学习:Reflection 荣
    java动态加载类
  • 原文地址:https://www.cnblogs.com/cenzhongman/p/7271639.html
Copyright © 2011-2022 走看看