• HBase 笔记2


    Hadoop 服务启动顺序: zookeeper -》journalnode-》namenode -> zkfc -> datanode

    HBase Master WEB控制台: <Master>:60010

    如果RegionServer正常启动,但是连接不上Master自己又停止,而Master/Region Server之间网络连接,端口可见性正常,多半是/etc/hosts内映射不正确或/etc/sysconfig/network内hostname设置有问题

    HBase自带一个命令行工具 hbase shell

    进入hbase 命令行: $HBASE_HOME/bin/hbase shell

    创建表: create  'test','cf'   ====>创建表test,包含一个列族cf

    查看库中有哪些表: list

    查看表的属性:describe 'test'  

    建新列族: alter 'test','cf2'   ====>新增列族cf2

    插入数据:put 'test','row1','cf:name','jack'  向表test的行键为row1的行的cf列族下的name列插入数据,值为Jack

    修改HBase保留的版本数:alter 'test',{NAME=>'cf',VERSION=>5}    ===>设置表test的cf列族保留版本数为5,默认为1(即使单元格插入多个版本数据,也只会保留最新版本)

    查看数据:get 'test','row2',{COLUMN=>'cf:name',VERSION=>3}     ====>获取表test,row2行,cf列族下name列的最近3个版本数据

           get 'test','row7','cf:name'   ===》显示某个单元格的全部数据

    遍历表的全部数据: scan '表名'

    遍历表的部分数据:scan 'test',{STARTROW=>'row3'}   ===>显示所有rowkey大于且等于row3的数据

              scan 'test',{ENDROW=>'row4'}        ====>显示所有rowkey小于row4的数据

    删除数据: delete 'test','row4','cf:name'   ====>删除表test中的row4行中的cf:name单元格数据

    根据版本删除数据:delete 'test','row1','cf:name',ts    ====>删除ts版本之前的所有版本数据(包含这个版本)

        HBase删除数据并不是真正删除数据,而是放置了一个墓碑标记,导致这个版本+之前的版本都不可见

    删除整行数据: deleteall 'test','row3'    ===>删除test表的row3的整行数据

    查看打上墓碑标记的数据:scan 'test',{RAW=>true,VERSION=>5}  ===>查询最近的5个版本的数据,墓碑隐藏数据也显示

    停用表: disable 'test'

    删除表:  删除表之前需要停用表

        drop 'test'

    通用命令:

    查看集群状态 status 'summary'  | 'simple' | 'detailed'

    查看HBase版本: version

    查看当前用户: whoami 

    查看表操作信息: table_help

    表操作:

    list  列出所有的表名

    alter  更改表/列族的定义

      1)建立/修改列族

        列族属性 BLOOMFILTER  REPLICATION_SCOPE   MIN_VERSIONS COMPRESSION  TTL BLOCKSIZE IN_MEMORY IN_MEMORY_COMPACTION  BLOCKCACHE KEEP_DELETED_CELLS DATA_BLOCK_ENCODING

            CACHE_DATA_ON_WRITE CACHE_DATA_IN_L1 CACHE_BLOOMS_ON_WRITE CACHE_INDEX_ON_WRITE EVICT_BLOCKS_ON_CLOSE PREFETCH_BLOCKS_ON_OPEN ENCRYPTION ENCRYPTION_KEY IS_MOB_BYTES       

            MOB_THRESHOLD_BYTES

        格式: alter '表名',NAME=>'列族',属性名1=>属性值1,....

      2)修改/建立多个列族

        格式:alter '表名',{NAME=>'列族',属性名1=>属性值1,....},{NAME=>'列族',属性名1=>属性值1,....}

      3)删除列族:

        格式: alter '表名',‘delete’=>‘列族名’

      4)修改表级别的属性

        格式:alter '表名',属性名1=>属性值1,......

      5)设置表的配置

        格式 : alter '表名',CONFIGURATION => {'配置名' => '配置值'}

            alter '表名',{NAME=> '列族名',CONFIGURATION => {'配置名' => '配置值'}}

        例: alter 'test',{NAME=>'cf1',CONFIGURATION => {'hbase.hstore.blockingStoreFiles' => '15'}} 

      6) 删除表级别的属性

         格式:alter '表名',METHOD=>'table_att_unset',NAME=>'属性名' 

      7)同时执行多个命令

        格式:alter '表名‘,command1,command2,command3,....

    create  建立新表

      格式:create '表名','列族1',’列族2‘,....

           create '表名’,{NAME=>'列族1',属性名=>属性值},{NAME=>'列族2',属性名=>属性值},....

    alter_status   查看表的各个Region的更新状况

    alter_async    异步更新表

       格式:alter_async '表名',参数列表

    describe 输出表的描述信息

      格式:describe '表名‘   或 desc '表名'

    dsiable 停用指定表

      格式:disable '表名'

    disable_all   使用正则表达式来停用多个表

      格式:disable_all '正则表达式'

    is_disabled  检测指定表是否被停用

      格式: is_disabled  ’表名‘

    drop 删除指定表

      格式 drop '表名'

    drop_all  通过正则表达式删除多个表

      格式:drop_all 正则表达式

    enable 启动指定表

      格式:enable '表名'

    enable_all 通过正则表达式启动指定表

      格式:enable_all '正则表达式'

    is_enabled 判断表是否启用

      格式: is_enabled '表名' 

    exists 判断表是否存在

      格式:exists ’表名‘

    show_filters 列出所有过滤器

    get_table 把表名转换成一个对象

      格式: 变量 = get_table '表名'

    locate_region  定位传入的行键对应的行在哪个Region里面

      格式:locate_region '表名',’行键‘

    数据操作:

    scan 按照字典排序遍历表的数据

      格式:scan '表名'

                scan '表名',{COLUMNS => ['列1 ',....]}  遍历指定列

          scan ‘表名' {STARTROW => '起始行键',END_ROW =》 ’结束行键‘}

         scan '表名',{LIMIT => 行数量}  指定返回的行数量

         scan '表名',{TIMERANGE => [最小时间戳,最大时间戳]}   ===》包含最小时间戳,最大不包含

        scan '表名',{VERSIONS => 版本数}    显示多个版本值

        scan '表名',{RAW =》 true ,VERSIONS => 版本数}  显示原始单元格记录

        scan '表名',{FILTER => '过滤器'}    

    get 通过行键获取某行记录

      格式: get '表名',’行键‘

    count 计算表的行数

      格式: count ’表名‘

      1)指定计算步长

      格式:count '表名',INTERVAL => 行数计算步长

      2)指定缓存加速计算过程

      格式: count '表名',cache => 缓存条数

    INTERVAL 和CACHE可以同时使用

    delete 删除某列数据

      格式:delete ’表名‘,’行键‘,’列名‘ 【,时间戳】

    deleteall 删除整行数据

      格式:deleteall ’表名‘ ,’行键‘

           deleteall '表名',’行键‘,‘列名’

           deleteall '表名',‘行键’,‘列明’,时间戳

    incr  为计数器单元格的值加一,若单元格不存在则创建

      格式: incr '表名',‘行键’,‘列名’【,加减值】

    put 新增记录 or 设置属性

      格式:put '表名',‘行键’,‘列名’,‘值’【,时间戳】  

         put '表名',‘行键’,‘列名’,‘值’,{‘属性名’ => ‘属性值’}
    append 给某个单元格的值拼接上新的值
      格式:append '表名',‘行键’,‘列名’,‘值’    ===》单元格最新值后面会附加上新的值
    truncate 清空表内的数据,但是保留表的属性
      格式:truncate '表名'
    truncate_preserve  清空表内数据,但是会保留表对应的Region
      格式:truncate_preserve '表名'
    get_splits  获取表对应的region个数
      格式:get_splits '表名'
     
     
    工具方法:
    close_region 下线指定region   ,先通过locate_region获取行键对应的region
      格式:close_region 'region名字'

    通过查询hbase:meta获取某个region的信息,如服务器的标识码

    unassign 下线指定的region后马上随机找一台服务器上线该region
      格式:unassign 'region 名字'【,true】
    assign 上线指定region
      格式:assign ‘region名字’
    move 移动一个region
      格式:move 'region名的hash值',‘服务器的标识码’
    split 拆分指定的region
      格式:split ‘表名’
           split 'region名'
          split '表名‘,’切分点行键‘
         split ’region名‘,’切分点行键‘
    merge_region 合并2个region为1个
      格式:merge_region 'region1的hash值',’region2的hash值‘
           merge_region 'region1的hash值',’region2的hash值‘,true  ==》强制合并
    compact 调用指定表的所有的region或者指定列族的所有region的合并机制,可以合并该region或者该region的列族下所有的Hfile
      格式:compact ’表名‘【,’列族名‘】
           compact ’region名‘
          compact ’region名‘,’列族名
    balancer 手动触发平衡器
      格式:balancer
    balance_switch 打开或关闭平衡器
      格式:balance_switch true | false  
    balancer_enabled 检测当前平衡器是否开启
      格式:balancer_enabled
    catalogjanitor_run  开始运行目录管理器,所谓的目录是指hbase:meta表中存储的region信息
    flush  手动触发指定表/region的刷血,将memstore内的数据持久化到磁盘,称为HFile文件
      格式:flush ’表名‘ | ’region名‘ | ’region名的hash值‘
    zk_dump 打印zookeeper集群中存储的HBase集群信息
     
    快照:
    在表的某个时刻的结构和数据,使用快照恢复到那个时刻
    snapshot 创建快照
      格式:snapshot '表名',’快照名‘【,{SKIP_FLUSH=> true}】
    list_snapshots 列出所有的快照
    restore_snapshot 使用快照恢复表
      格式:restore_snapshot '快照名'
    clone_sanpshot 使用快照的数据创建一个表
      格式:clone_snapshot '快照名',’新表名‘
    delete_snapshot  删除快照
      格式:delete_snapshot ’快照名‘
    delete_all_snapshot 删除多个快照
      格式:delete_all-snapshot’正则表达式‘
     
    命名空间:
    list_namespace 列出所有的命名空间
    list_namespace_tables 列出该命名空间下的表
      格式:list_namespace_tables '命名空间名'
    create_namespace 创建命名空间
      格式:create_namespace '命名空间名'【,{’属性名‘ => '属性值'}】
    describe_namespace 显示命名空间定义
      格式describe_namespace’命名空间名‘
    alter_namespace 更改命名空间的属性或删除属性
      格式:alter_namespace '命名空间名',{METHOD => 'set','属性名'=> '属性值'}
         alter_namespace '命名空间名',{METHOD => 'unset',NAME => '属性名'}
    drop_namespace 删除命名空间
      格式:删除之前确保命名空间内没有表
          drop_namespace '命名空间名'
     
    安全:
    list_security_capabilities 列出所有支持的安全特性
    user_permission  列出指定用户的权限
      格式:user_permission ['表名']
    grant 赋予用户权限
      READ  ’R‘  WRITE ’W‘ EXEC ’X‘ CREATE ’C‘ ADMIN ’A‘
      格式:grant ’用户‘ ,’权限表达式‘【,’表名‘】|【,’表名‘,’列族名‘】|【,’表名‘,’列族名‘,’列名‘】
    revoke 取消用户权限
      格式:revoke ’用户‘ ,’权限表达式‘【,’表名‘】|【,’表名‘,’列族名‘】|【,’表名‘,’列族名‘,’列名‘】
     
     
        
     
  • 相关阅读:
    【转】深入解析Hashtable、Dictionary、SortedDictionary、SortedList
    [转]HttpModule与HttpHandler详解
    【转】ASP.NET中大文件下载的跟踪和恢复
    CentOS7安装docker
    C#编写串口通信程序(转)
    解析Java的多线程机制
    WebBrowser控件使用详解
    winform窗体中嵌入网页(DHTML代码和winfrom应用程序交互)
    Android 中文 API——android.widget合集(中)(50篇)(chm格式)
    C#中如何处理父窗口及其子窗口标题
  • 原文地址:https://www.cnblogs.com/zy1234567/p/10311281.html
Copyright © 2020-2023  润新知