Jast blog Jast blog
首页
  • 《Ambari自定义开发教程》笔记
  • 《CDH教程》笔记
  • 《ClickHouse教程》笔记
  • 《HDFS教程》笔记
  • 《DolphinScheduler教程》笔记
  • 《Hbase教程》笔记
  • 《Iceberg教程》笔记
  • 《Hive教程》笔记
  • 《Flume教程》笔记
  • 《Kafka教程》笔记
  • 《Impala教程》笔记
  • 《Hue教程》笔记
  • 《Spark教程》笔记
  • 《Flink教程》笔记
  • 《Phoenix教程》笔记
  • 《ElasticSearch教程》笔记
  • 《Kylin教程》笔记
  • 《Storm教程》笔记
  • 《Yarn教程》笔记
  • 《Presto教程》笔记
  • 《图数据库教程》笔记
  • 《Kerberos教程》笔记
  • 《Maxwell教程》笔记
  • 《MinIO教程》笔记
  • 《DataX教程》笔记
  • 《Superset教程》笔记
  • 《IOTDB教程》笔记
  • 《大数据相关》笔记
  • 《PaddleNLP教程》笔记
  • 《Nginx教程》笔记
  • 《Java技术文档》
  • 《Maven教程》笔记
  • 《IDEA使用教程》
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档

Jast-zsh

如果你知道你要去哪里,全世界都会给你让路。
首页
  • 《Ambari自定义开发教程》笔记
  • 《CDH教程》笔记
  • 《ClickHouse教程》笔记
  • 《HDFS教程》笔记
  • 《DolphinScheduler教程》笔记
  • 《Hbase教程》笔记
  • 《Iceberg教程》笔记
  • 《Hive教程》笔记
  • 《Flume教程》笔记
  • 《Kafka教程》笔记
  • 《Impala教程》笔记
  • 《Hue教程》笔记
  • 《Spark教程》笔记
  • 《Flink教程》笔记
  • 《Phoenix教程》笔记
  • 《ElasticSearch教程》笔记
  • 《Kylin教程》笔记
  • 《Storm教程》笔记
  • 《Yarn教程》笔记
  • 《Presto教程》笔记
  • 《图数据库教程》笔记
  • 《Kerberos教程》笔记
  • 《Maxwell教程》笔记
  • 《MinIO教程》笔记
  • 《DataX教程》笔记
  • 《Superset教程》笔记
  • 《IOTDB教程》笔记
  • 《大数据相关》笔记
  • 《PaddleNLP教程》笔记
  • 《Nginx教程》笔记
  • 《Java技术文档》
  • 《Maven教程》笔记
  • 《IDEA使用教程》
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
  • HbaseShell命令
    • 命名空间
      • 查看指定命名空间表
      • 创建namespace
      • 删除namespace
      • 查看namespace
      • 列出所有namespace
      • 在namespace下创建表
    • 基础命令
      • 查看表结构
      • 设置TTL
      • PUT添加数据
      • 删除表
      • 删除列簇
      • 删除整行数据
      • 删除一行数据中的某一列
      • 在已创建的表添加列簇
      • 清空数据,并清除分区
      • 仅清空数据
      • 统计表数据总量
      • MR方式统计
      • HbaseShell方式统计
    • 创建表
      • 创建表,并指定压缩格式
      • 参数详解
      • 数据删除是否物理删除 KEEPDELETEDCELLS
      • REPLICATION_SCOPE 复制范围
    • 查询
      • 根据timestamp范围查询数据
      • RAW参数
      • Hbase Shell 返回中文
      • 查看Hbase Meta表
      • 查询某个表某个列的数据
      • 查询多版本数据
    • 移动Region
      • 手动移动Region
    • 手动Split Region
    • 手动出发Major Compaction
    • 强制删除Hbase表
  • HbaseJMX监控
  • 协处理器使用
  • Hbase基于Snapshot数据迁移
  • hbase-server下载javax el失败
  • Hbase表无法disable
  • spark executor cores设置未生效
  • namespace rit问题处理
  • HbaseRIT问题解决
  • Docker运行Hbase单节点
  • 《Hbase教程》笔记
Jast-zsh
2023-03-10
目录

HbaseShell命令

[toc]

# 命名空间

# 查看指定命名空间表

list_namespace_tables 'hbase'
1

# 创建namespace

create_namespace 'test'  
1

# 删除namespace

drop_namespace 'test'  
1

# 查看namespace

describe_namespace 'hbase'  
1

# 列出所有namespace

list_namespace
1

# 在namespace下创建表

create 'ai_ns:testtable', 'fm1'
1

# 基础命令

# 查看表结构

desc 'tableName'
describe 'tableName'
1
2

# 设置TTL

 # 语法:alter 't1', {NAME => 'f1'}, {NAME => 'f2', METHOD => 'delete'}
 # 例如:修改表test1的cf的TTL为180天
 # TTL 单位为秒
disable 'test1'
alter 'test1',{NAME=>'body',TTL=>'15552000'},{NAME=>'meta', TTL=>'15552000'}
enable 'test1'
1
2
3
4
5
6

# PUT添加数据

put 表名 ,rowkey,列名(列族:列名),value
1

# 删除表

disable 't1'
drop 't1'
1
2

# 删除列簇

disable 'table1'
alter 'table1', {NAME=>'tab1_add', METHOD=>'delete'}
enable 'table1'
1
2
3

# 删除整行数据

deleteall 'tableName', 'RowKey'
1

# 删除一行数据中的某一列

delete 'tableName', 'RowKey', 'ColumnFamily:ColumnName'
1

# 在已创建的表添加列簇

alter 'tablename', {NAME=> 'fn'} 
1

# 清空数据,并清除分区

truncate 'tableName'
1

# 仅清空数据

truncate_preserve 'tableName'
1

# 统计表数据总量

# MR方式统计

$HBASE_HOME/bin/hbase   org.apache.hadoop.hbase.mapreduce.RowCounter tablename'
1

# HbaseShell方式统计

count 'table',{INTERVAL=>NUM,CACHE=>10000}
1
  • INTERVAL 每次间隔多少显示一次
  • CACHE 后台匹配每次统计多少,这个会实际影响统计速度,可以适当提升

# 创建表

# 创建表,并指定压缩格式

create 'ns:vt_date', {NAME => 'fn', VERSIONS=>1,COMPRESSION=>'snappy'}
1

# 参数详解

# 数据删除是否物理删除 KEEP_DELETED_CELLS

KEEP_DELETED_CELLS 的作用就是在major compaction发生的时候,决定要不要清理旧数据。这里需要注意一点,即便 KEEP_DELETED_CELLS 设置为True,数据仍然会因为过期而被清理(HBsae表中的TTL属性)。

创建表是添加参数:

修改表参数:

alter 'test110' , {NAME=>'fn',KEEP_DELETED_CELLS=> TRUE}
1

查看表结构:

hbase(main):008:0> desc 'test110'
Table test110 is ENABLED                                                                                                                 
test110                                                                                                                                  
COLUMN FAMILIES DESCRIPTION                                                                                                              
{NAME => 'fn', VERSIONS => '10', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'TRUE', CACHE_D
ATA_ON_WRITE => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BLOOMFILTER => '
ROW', CACHE_INDEX_ON_WRITE => 'false', IN_MEMORY => 'false', CACHE_BLOOMS_ON_WRITE => 'false', PREFETCH_BLOCKS_ON_OPEN => 'false', COMPRE
SSION => 'GZ', BLOCKCACHE => 'true', BLOCKSIZE => '65536'}                                                                               
1 row(s)
1
2
3
4
5
6
7
8
9

添加测试数据:

put 'test110','1','fn:a',1
put 'test110','1','fn:b',1
put 'test110','2','fn:a',1
put 'test110','2','fn:b',1
delete 'test110','1','fn:a'
delete 'test110','2','fn:a'

# 查看删除的数据,
hbase(main):022:0> scan 'test110',{RAW=>TRUE}
ROW                                 COLUMN+CELL                                                                                          
 1                                  column=fn:a, timestamp=1673332138815, type=Delete                                                    
 1                                  column=fn:a, timestamp=1673332138815, value=1                                                                                                            
 1                                  column=fn:b, timestamp=1673332138955, value=1                                                        
 2                                  column=fn:a, timestamp=1673332139075, type=Delete                                                    
 2                                  column=fn:a, timestamp=1673332139075, value=1                                                        
 2                                  column=fn:b, timestamp=1673332139899, value=1   
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# REPLICATION_SCOPE 复制范围

HBase提供了跨级群同步的功能,本地集群的数据更新可以及时同步到其他集群。复制范围(replication scope)的参数默认为0,表示复制功能处于关闭状态。

# 查询

# 根据timestamp范围查询数据

# 说明
scan tableName,{TIMERANGE=>[starttime,endtime],LIMIT=>1}
# 样例
scan 'ns:vt',{TIMERANGE=>[1506700800000,1608479686000],LIMIT=>1}
1
2
3
4

# RAW参数

开启Raw模式会返回包括已添加删除标记但是未实际删除的数据。

scan 'test110',{RAW=>TRUE}
1

# Hbase Shell 返回中文

hbase(main):050:0>> get 't1','r1','f:c1:toString'
hbase(main):051:0> scan 'test', {FORMATTER => 'toString'}
hbase(main):052:0> scan 'test', {FORMATTER => 'toString',LIMIT=>1,COLUMN=>'f:c4'}
hbase(main):053:0> scan 'test', {FORMATTER_CLASS => 'org.apache.hadoop.hbase.util.Bytes', FORMATTER => 'toString'}
hbase(main):054:0> scan 'test', {FORMATTER_CLASS => 'org.apache.hadoop.hbase.util.Bytes', FORMATTER => 'toString', COLUMN=>'f:c4'}
hbase(main):004:0> scan 'test', {COLUMNS => ['f:c1:toString','f:c2:toString'] }
hbase(main):003:0> scan 'test', {COLUMNS => ['f:c1:c(org.apache.hadoop.hbase.util.Bytes).toString','f:c3:c(org.apache.hadoop.hbase.util.Bytes).toString'] }
hbase(main):055:0> scan 'test', {COLUMNS => ['f:c1:toString','f:c4:c(org.apache.hadoop.hbase.util.Bytes).toString'] }
hbase(main):058:0> get 'test','row-2','f:c2:toString'
对于Int型、Long型数值,支持toInt|toLong语法。不常用的语法这里就不再论述了。
1
2
3
4
5
6
7
8
9
10

# 查看Hbase Meta表

scan 'hbase:meta'
1

# 查询某个表某个列的数据

scan 'tableName',{COLUMN=>列族:列,LIMIT=>需要查看条数}
1

# 查询多版本数据

get 'test06262','woshikey1',{COLUMN=>'f2',VERSION=>10}
scan 'user_label',VERSIONS=>2
1
2

# 移动Region

# 手动移动Region

echo "move '9c5c9e1aa5f88739224e17dfd7602bb1','shxcb99.zh,16020,1513325294105" | hbase shell
1

image-20230222171303985

image-20230222171311128

参考:http://blog.csdn.net/knowledgeaaa/article/details/72844026

# 手动Split Region

# 语法:split 'regionName', 'splitKey'
1

# 手动出发Major Compaction

#语法:
#Compact all regions in a table:
hbase> major_compact 't1'
#Compact an entire region:
hbase> major_compact 'r1'
#Compact a single column family within a region:
hbase> major_compact 'r1', 'c1'
#Compact a single column family within a table:
hbase> major_compact 't1', 'c1'
1
2
3
4
5
6
7
8
9

# 强制删除Hbase表

1.删除zk中的数据(在装有zk的节点上执行)'
    zookeeper-client -server localhost:2181'
    [zk: localhost:2181(CONNECTED) 2] rmr /hbase/table/hbase_tablename'
2.删除HDFS上的数据'
    su - hdfs'
    hdfs dfs fs -rmr /hbase/data/default/hbase_tablename'
3.删除meta表信息,在meta表查询'
  3.1使用hbase shell筛选rowkey'
   echo "scan 'hbase:meta'" | hbase shell | grep hbase_tablename | awk -F 'column' '{print $1}' | sort | uniq'
  3.2删除meta表中3.1的rowkey'
   delete 'hbase:meta','rowkey','info:sn''
   delete 'hbase:meta','rowkey','info:name''
4.重启Hbase(可选操作)
1
2
3
4
5
6
7
8
9
10
11
12
13
上次更新: 2023/03/10, 20:58:04
HbaseJMX监控

HbaseJMX监控→

最近更新
01
Linux可视化监控
02-26
02
Maven私服搭建
02-26
03
当ElasticSearch时间字段设置多个格式到底是用的哪个?
01-19
更多文章>
Theme by Vdoing | Copyright © 2016-2025 Jast-zsh | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式