通用

status

查看集群状态,有三种可选的参数simple、summary、detailed。

默认为summary。

格式:

  • status
  • status ‘simple’
  • status ‘summary’
  • status ‘detailed’

hbase shell过滤器 hbase shell split_时间戳

version

查看当前HBase版本。

格式:

  • version

hbase shell过滤器 hbase shell split_hbase shell过滤器_02

whoami

查看当前用户。

格式:

  • whoami

hbase shell过滤器 hbase shell split_时间戳_03

table_help

输出关于表操作的帮助信息。

格式:

  • table_help

hbase shell过滤器 hbase shell split_表名_04

hbase shell过滤器 hbase shell split_服务器_05

表操作

list

列出所有表名。

格式:

  • list
  • list ‘通配符’

hbase shell过滤器 hbase shell split_hbase shell过滤器_06

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_INDEX_ON_WRITE
  • CACHE_BLOOMS_ON_WRITE
  • EVICT_BLOCKS_ON_CLOSE
  • PREFETCH_BLOCKS_ON_OPEN
  • ENCRYPTION
  • ENCRYPTION_KEY
  • IS_MOB_BYTES
  • MOB_THRESHOLD_BYTES

hbase shell过滤器 hbase shell split_时间戳_07

(2)建立/修改多个列族

hbase shell过滤器 hbase shell split_时间戳_08

hbase shell过滤器 hbase shell split_服务器_09

(3)删除列族

hbase shell过滤器 hbase shell split_hbase shell过滤器_10

(4)修改表级别属性

允许的属性名必须是属于表级别的属性。表级别的属性有:

  • MAX_FILESIZE
  • READONLY
  • MEMSTORE_FLUSHSIZE
  • DEFERRED_LOG_FLUSH
  • DURABILITY
  • REGION_REPLICATION
  • NORMALIZATION_ENABLED
  • PRIORITY
  • IS_ROOT
  • IS_META

hbase shell过滤器 hbase shell split_服务器_11

(5)设置表配置

一般情况下,我们都会把表/列族的配置属性设置在hbasesite.xml文件里面。现在,alter命令给了你一个可以更改专属于这个表/列族的配置属性值的机会。比如我们在hbase-site.xml文件里面配置的hbase.hstore.blockingStoreFiles是10,我们可以将该列族的hbase.hstore.blockingStoreFiles修改为15,而不影响到别的表。

格式:

  • alter ‘表名’, CONFIGURATION => { ‘配置名’ => ‘配置值’ }
  • alter ‘表名’, { NAME => ‘列族名’, CONFIGURATION=> { ‘配置名’ => ‘配置值’ }}

hbase shell过滤器 hbase shell split_时间戳_12

(6)删除表级别属性:

格式:

  • alter ‘表名’, METHOD => ‘table_att_unset’, NAME => ‘属性名’

范例:

hbase shell过滤器 hbase shell split_表名_13

(7)同时执行多个命令

你还可以把前面我们说的这些命令都放到一条命令里面去执行。

格式:

  • alter ‘表名’, 命令1, 命令2, 命令3

hbase shell过滤器 hbase shell split_表名_14

create

建立新表。建立新表的时候可以同时修改表属性。

格式:

  • create ‘表名’, { NAME => ‘列族名1’, 属性名 => 属性值}, {NAME => ‘列族名2’, 属性名 => 属性值}, …

如果你只需要创建列族,而不需要定义列族属性,那么可以采用以下快捷写法:

  • create’表名’,‘列族名1’ ,‘列族名2’, …

hbase shell过滤器 hbase shell split_表名_15

alter_status

查看表的各个Region的更新状况,这条命令在异步更新表的时候,

用来查看更改命令执行的情况,判断该命令是否执行完毕。

格式:

  • alter_status

hbase shell过滤器 hbase shell split_表名_16

alter_async

异步更新表。使用这个命令你不需要等待表的全部Region更新完后才返回。记得配合alter_status来检查异步表更改命令的执行进度。

格式:

alter_async ‘表名’,参数列表

hbase shell过滤器 hbase shell split_hbase shell过滤器_17

describe

输出表的描述信息。

格式:

  • describe ‘表名’
  • desc ‘表名’

hbase shell过滤器 hbase shell split_hbase shell过滤器_18

disable

停用指定表。

格式:

  • disable ‘表名’

hbase shell过滤器 hbase shell split_hbase shell过滤器_19

disable_all

通过正则表达式来停用多个表。

格式:

  • disable_all ‘正则表达式’

hbase shell过滤器 hbase shell split_时间戳_20

is_disabled

检测指定表是否被停用了。

格式:

  • is_disabled ‘表名’

hbase shell过滤器 hbase shell split_hbase shell过滤器_21

drop

删除指定表。

格式:

  • drop ‘表名’

hbase shell过滤器 hbase shell split_表名_22

drop_all

通过正则表达式来删除多个表。

格式:

  • drop_all ‘正则表达式’

hbase shell过滤器 hbase shell split_hbase shell过滤器_23

enable

启动指定表。

格式:

  • enable ‘表名’

hbase shell过滤器 hbase shell split_hbase shell过滤器_24

enable_all

通过正则表达式来启动指定表。

格式:

  • enable_all ‘正则表达式’

hbase shell过滤器 hbase shell split_hbase shell过滤器_25

is_enabled

判断指定表是否启用。

格式:

  • is_enabled ‘表名’

hbase shell过滤器 hbase shell split_服务器_26

exists

判断指定表是否存在。

格式:

  • exists ‘表名’

hbase shell过滤器 hbase shell split_表名_27

show_filters

列出所有过滤器。

格式:

  • show_filters

范例:

hbase shell过滤器 hbase shell split_表名_28

get_table

使用这条命令,你可以把表名转化成一个对象,在下面的脚本中使用这个对象来操作表,达到面向对象的语法风格。这个命令对表并没有实质性的操作,只是让你的脚本看来更好看,类似一种语法糖。

格式:

  • 变量 = get_table ‘表名’

hbase shell过滤器 hbase shell split_服务器_29

locate_region

通过这条命令可以知道你所传入的行键(rowkey)对应的行(row)在哪个Region里面。

格式:

  • locate_region ‘表名’, ‘行键’

hbase shell过滤器 hbase shell split_表名_30

数据操作

scan

按照行键的字典排序来遍历指定表的数据。

遍历所有数据所有列族。

格式:

  • scan ‘表名’

hbase shell过滤器 hbase shell split_表名_31

(1)指定列

只遍历指定的列,就像我们在关系型数据库中用select语句做的事情一样。要注意的是,写列名的时候记得把列族名带上,就像这样cf1:name。

格式:

  • scan ‘表名’, { COLUMNS => [‘列1’, ‘列2’, …] }

hbase shell过滤器 hbase shell split_表名_32

(2)指定行键范围

通过传入起始行键(STARTROW)和结束行键(ENDROW)来遍历指定行键范围的记录。强烈建议每次调用scan都至少指定起始行键或者结束行键,这会极大地加速遍历速度。

格式:

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

hbase shell过滤器 hbase shell split_服务器_33

(3)指定最大返回行数量

通过传入最大返回行数量(LIMIT)来控制返回行的数量。类似我们在传统关系型数据库中使用limit语句的效果。

格式:

  • scan ‘表名’, { LIMIT => 行数量}

hbase shell过滤器 hbase shell split_hbase shell过滤器_34

(4)指定时间戳范围

通过指定时间戳范围(TIMERANGE)来遍历记录,可以使用它来找出单元格的历史版本数据。

格式:

  • scan ‘表名’, { TIMERANGE => [最小时间戳, 最大时间戳]}

提示

返回结果包含最小时间戳的记录,但是不包含最大时间戳记录。这是一个左闭右开区间。

范例:

hbase shell过滤器 hbase shell split_表名_35

注意row1的cf1:name单元格显示的值是jack。现在,我们使用不带TIMERANGE参数的scan命令来查询row1的记录:

hbase shell过滤器 hbase shell split_hbase shell过滤器_36

可以看到row1的cf1:name单元格最新值其实是apollo,所以使用了TIMERANGE参数后,我们将该单元格的之前的历史记录查询出来了。

(5)显示单元格的多个版本值

通过制定版本数(VERSIONS),可以显示单元格的多个版本值。

格式:

  • scan ‘表名’, {VERSIONS => 版本数}

范例:

hbase shell过滤器 hbase shell split_服务器_37

(6)显示原始单元格记录

在HBase被删除掉的记录并不会立即从磁盘上清除,而是先被打上墓碑标记,然后等待下次major compaction的时候再被删除掉。所谓的原始单元格记录就是连已经被标记为删除但是还未被删除的记录都显示出来。通过添加RAW参数来显示原始记录,不过这个参数必须配合VERSIONS参数一起使用。RAW参数不能跟COLUMNS参数一起使用。

格式:

  • scan ‘表名’, { RAW => true, VERSIONS => 版本数}

hbase shell过滤器 hbase shell split_表名_38

你可以看到一个时间戳为1504048716932的墓碑标记在记录值为michael的记录里,这意味着michael这个记录已经被标记为删除了。

(7)指定过滤器

通过使用FILTER参数来指定要使用的过滤器。

格式:

  • scan ‘表名’, { FILTER => “过滤器”}

hbase shell过滤器 hbase shell split_hbase shell过滤器_39

get

通过行键获取某行记录。

格式:

  • get ‘表名’, ‘行键’

范例:

hbase shell过滤器 hbase shell split_服务器_40

get支持scan所支持的大部分属性,具体支持的属性如下:

  • COLUMNS
  • TIMERANGE
  • VERSIONS
  • FILTER

count

计算表的行数。

简单计算。

格式:

  • count ‘表名’

hbase shell过滤器 hbase shell split_表名_41

(1)指定计算步长

通过指定INTERVAL参数来指定步长。如果你使用不带参数的count

命令,要等到所有行数都计算完毕才能显示结果;如果指定了INTERVAL

参数,则shell会立即显示当前计算的行数结果和当前所在的行键。

格式:

  • count ‘表名’, INTERVAL => 行数计算步长

hbase shell过滤器 hbase shell split_hbase shell过滤器_42

(2)指定缓存

通过指定缓存加速计算过程。

格式:

  • count ‘表名’, CACHE => 缓存条数

hbase shell过滤器 hbase shell split_时间戳_43

delete

删除某个列的数据。

格式:

  • delete ‘表名’, ‘行键’, ‘列名’
  • delete ‘表名’, ‘行键’, ‘列名’,时间戳

hbase shell过滤器 hbase shell split_时间戳_44

deleteall

可以使用deleteall删除整行数据,也可以删除单列数据,它就像是delelte的增强版。

格式:

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

hbase shell过滤器 hbase shell split_时间戳_45

incr

为计数器单元格的值加1,如果该单元格不存在,则创建一个计数器单元格。所谓计数器单元格就是一个可以做原子加减计算的特殊单元

格。

格式:

  • incr ‘表名’, ‘行键’,’ ‘列名’
  • incr ‘表名’, ‘行键’, ‘列名’,加减值

范例:

hbase shell过滤器 hbase shell split_表名_46

put

put操作在新增记录的同时还可以为记录设置属性。

格式:

  • put ‘表名’, ‘行键’, ‘列名’, ‘值’
  • put ‘表名’, ‘行键’, ‘列名’, ‘值’,时间戳
  • put ‘表名’, ‘行键’, ‘列名’, ‘值’, { ‘属性名’ => ‘属性值’}
  • put ‘表名’, ‘行键’, ‘列名’, ‘值’,时间戳, { ‘属性名’ =>‘属性值’}
  • put ‘表名’, ‘行键’, ‘列名’, ‘值’, { ATTRIBUTES => {‘属性名’ => ‘属性名’}}
  • put ‘表名’, ‘行键’, ‘列名’, ‘值’,时间戳, { ATTRIBUTES =>{‘属性’ => ‘属性名’}}
  • put ‘表名’, ‘行键’, ‘列名’, ‘值’,时间戳, { VISIBILITY =>‘PRIVATE|SECRET’ }

hbase shell过滤器 hbase shell split_时间戳_47

append

给某个单元格的值拼接上新的值。原本我们要给单元格的值拼接新值,需要先get出这个单元格的值,拼接上新值后再put回去。append这个操作简化了这两步操作为一步完成。不仅方便,而且保证了原子性。

格式:

  • append ‘表名’, ‘行键’, ‘列名’, ‘值’
  • append ‘表名’, ‘行键’, ‘列名’, ‘值’, ATTRIBUTES => {‘自定义键’ => ‘自定义值’}
  • append ‘表名’, ‘行键’, ‘列名’, ‘值’, {VISIBILITY =>'PRIVATE|SECRET '}

hbase shell过滤器 hbase shell split_hbase shell过滤器_48

truncate

这个命令跟关系型数据库中同名的命令做的事情是一样的:清空表内数据,但是保留表的属性。不过HBase truncate表的方式其实就是先帮你删掉表,然后帮你重建表。

格式:

  • truncate ‘表名’

hbase shell过滤器 hbase shell split_服务器_49

truncate_preserve

这个命令也是清空表内数据,但是它会保留表所对应的Region。当你希望保留Region的拆分规则时,可以使用它,避免重新定制Region拆分规则。

格式:

  • truncate_preserve ‘表名’

hbase shell过滤器 hbase shell split_hbase shell过滤器_50

get_splits

获取表所对应的Region个数。因为一开始只有一个Region,由于Region的逐渐变大,Region被拆分(split)为多个,所以这个命令叫get_splits。

格式:

  • get_splits ‘表名’

hbase shell过滤器 hbase shell split_表名_51

工具方法

close_region

下线指定的Region。下线Region可以通过指定Region名,也可以指定Region名的hash值。那么怎么拿到Region名呢?可以通过前面介绍的locate_region命令来获取某个行键所在的Region。Region名的hash值就是Region名的最后一段字符串,该字符串夹在两个句点之间。我们来一个例子。执行了locate_region之后的输出是这样的:

hbase shell过滤器 hbase shell split_时间戳_52

从输出中可以看出:

Region名:

table1,1503250079525.85b7e814d52c22acc11d337d0e4190ee。

Region名的hash值:85b7e814d52c22acc11d337d0e4190ee。

服务器标识码是类似这样的一串字符串:

hbase shell过滤器 hbase shell split_表名_53

它由服务器名+端口+启动码组成。你可以通过查询hbase:meta表知道某个Region的信息,就拿刚刚看到的table1,1503250079525.85b7e814d52c22acc11d337d0e4190ee.举例吧。执行以下shell命令:

hbase shell过滤器 hbase shell split_服务器_54

这个Region对应的服务器标识码是:nn02,16020,1499985181271。

格式:

  • close_region ‘region名字’
  • close_region ‘region名字’, ‘服务器标识码’
  • close_region ‘region名的hash值’, ‘服务器标识码’

hbase shell过滤器 hbase shell split_表名_55

unassign

下线指定的Region后马上随机找一台服务器上线该Region。如果跟上第二个参数true,则会在关闭Region之前清空Master中关于该Region的上线状态,在某些出故障的情况下,Master中记录的Region上线状态可能会跟Region实际的上线状态不相符,不过一般情况下你不会用到第二个参数。

格式:

  • unassign ‘region名字’
  • unassign ‘region名字’, true

hbase shell过滤器 hbase shell split_表名_56

assign

上线指定的Region,不过如果你指定了一个已经上线的Region的

话,这个Region会被强制重上线。

格式:

  • assign ‘region名字’

hbase shell过滤器 hbase shell split_服务器_57

move

移动一个Region。你可以传入目标服务器的服务器标识码来将Region移动到目标服务器上。如果你不传入目标服务器的服务器标识码,那么就会将Region随机移动到某一个服务器上,就跟unassign操作

的效果一样。该方法还有一个特殊的地方就是,它只接受Region名的hash值,而不是Region名。关于Region名的hash值和服务器标识码的知识,已经在close_region命令中介绍过了,在此不再赘述。

格式:

  • move ‘region名的hash值’, ‘服务器标识码’

hbase shell过滤器 hbase shell split_表名_58

split

拆分(split)指定的Region。除了可以等到Region大小达到阈值后触发自动拆分机制来拆分Region,我们还可以手动拆分指定的Region。通过传入切分点行键,我们可以从我们希望的切分点切Region。

格式:

  • split ‘表名’
  • split ‘region名’
  • split ‘表名’, ‘切分点行键’
  • split ‘region名’, ‘切分点行键’

hbase shell过滤器 hbase shell split_hbase shell过滤器_59

执行后等待一段时间,再查看Region信息:

hbase shell过滤器 hbase shell split_hbase shell过滤器_60

可以看到Region被拆分为2个Region了。

merge_region

合并(merge)两个Region为一个Region。如果传入第二个参数’true’,则会触发一次强制合并(merge)。该命令的接收参数为Region名的hash值,即Region名最后两个句点中的那段字符串(不包含句点)。拿我们上一个命令split中的例子来说:

hbase shell过滤器 hbase shell split_时间戳_61

的Region名的hash值为:

hbase shell过滤器 hbase shell split_hbase shell过滤器_62

格式:

  • merge_region ‘region1名的hash值’, ’ region2名的hash值’
  • merge_region ‘region1名的hash值’, ’ region2名的hash值’,true

范例:

我们在上一个命令split中拆分出了2个Region,分别是:

hbase shell过滤器 hbase shell split_时间戳_63

hbase shell过滤器 hbase shell split_时间戳_64

现在我们来将其合并为一个Region,命令如下:

hbase shell过滤器 hbase shell split_时间戳_65

执行该条命令后,等待一段时间,再去查看该表的Region情况,可以看到现在该表只有一个Region:

hbase shell过滤器 hbase shell split_服务器_66

compact

调用指定表的所有Region或者指定列族的所有Region的合并

(compact)机制。通过compact机制可以合并该Region或者该Region的

列族下的所有HFile(StoreFile),以此来提高读取性能。

格式:

  • compact ‘表名’
  • compact ‘region名’
  • compact ‘region名’, ‘列族名’
  • compact ‘表名’, ‘列族名’

hbase shell过滤器 hbase shell split_服务器_67

提示

compact跟合并(merge)并不一样。merge操作是合并2个Region为1个Region,而compact操作着眼点在更小的单元:StoreFile,一个Region可以含有一个或者多个StoreFile,compact操作的目的在于减少StoreFile的数量以增加读取性能。

major_compact

在指定的表名/region/列族上运行major compaction。

格式:

  • major_compact ‘表名’
  • major_compact ‘region名’
  • major_compact ‘region名’, ‘列族名’
  • major_compact ‘表名’, ‘列族名’

hbase shell过滤器 hbase shell split_服务器_68

compact_rs

调用指定RegionServer上的所有Region的合并机制,加上第二个参数true,意味着执行major compaction。

格式:

  • compact_rs ‘服务器标识码’
  • compact_rs ‘服务器标识码’, true

hbase shell过滤器 hbase shell split_时间戳_69

balancer

手动触发平衡器(balancer)。平衡器会调整Region所属的服务器,让所有服务器尽量负载均衡。如果返回值为true,说明当前集群的状况允许运行平衡器;如果返回false,意味着有些Region还在执行着某些操作,平衡器还不能开始运行。

格式:

  • balancer

hbase shell过滤器 hbase shell split_服务器_70

balance_switch

打开或者关闭平衡器。传入true即为打开,传入false即为关闭。

格式:

  • balance_switch true
  • balance_switch false

hbase shell过滤器 hbase shell split_服务器_71

提示

返回值为平衡器(balancer)的前一个状态,在范例中平衡器(balancer)在执行balance_switch操作前的状态是关闭的。

balancer_enabled

检测当前平衡器是否开启。

格式:

  • balancer_enabled

hbase shell过滤器 hbase shell split_服务器_72

catalogjanitor_run

开始运行目录管理器(catalog janitor)。所谓的目录指的就是hbase:meta表中存储的Region信息。当HBase在拆分或者合并的时候,为了确保数据不丢失,都会保留原来的Region,当拆分或者合并过程结束后再等待目录管理器来清理这些旧的Region信息。

格式:

  • catalogjanitor_run

hbase shell过滤器 hbase shell split_hbase shell过滤器_73

catalogjanitor_enabled

查看当前目录管理器的开启状态。

格式:

  • catalogjanitor_enabled

hbase shell过滤器 hbase shell split_hbase shell过滤器_74

catalogjanitor_switch

启用/停用目录管理器。该命令会返回命令执行后状态的前一个状态。

格式:

  • catalogjanitor_switch true
  • catalogjanitor_switch false

hbase shell过滤器 hbase shell split_hbase shell过滤器_75

normalize

规整器用于规整Region的尺寸,通过该命令可以手动启动规整器。只有NORMALIZATION_ ENABLED为true的表才会参与规整过程。如果返回true,则说明规整器启动成功;如果某个Region被设置为禁用规整器,则该命令不会对其产生任何效果。

格式:

  • normalize

hbase shell过滤器 hbase shell split_服务器_76

normalizer_enabled

查看规整器的启用/停用状态。

格式:

  • normalizer_enabled

hbase shell过滤器 hbase shell split_hbase shell过滤器_77

normalizer_switch

启用/停用规整器。该命令会返回规整器的前一个状态。

格式:

  • normalizer_switch true
  • normalizer_switch false

hbase shell过滤器 hbase shell split_服务器_78

flush

手动触发指定表/Region的刷写。所谓的刷写就是将memstore内的

数据持久化到磁盘上, 称为HFile文件。

格式:

  • flush ‘表名’
  • flush ‘region名’
  • flush ‘region名的hash值’

hbase shell过滤器 hbase shell split_表名_79

trace

启用/关闭trace功能。不带任何参数地执行该命令会返回trace功能的开启/关闭状态。当第一个参数使用’start’的时候,会创建新的trace段(trace span);如果传入第二个参数还可以指定trace段的名称,否则默认使用’HBaseShell’作为trace段的名称;当第一个参数传入’stop’的时候,当前trace段会被关闭;当第一个参数使用’status’的时候,会返回当前trace功能的开启/关闭状态。

格式:

  • trace
  • trace ‘start’
  • trace ‘start’, ‘trace段名称’
  • trace ‘stop’
  • trace ‘status’

hbase shell过滤器 hbase shell split_表名_80

wal_roll

手动触发WAL的滚动。

格式:

  • wal_roll ‘服务器标识码’

hbase shell过滤器 hbase shell split_表名_81

zk_dump

打印出ZooKeeper集群中存储的HBase集群信息。

格式:

  • zk_dump

hbase shell过滤器 hbase shell split_表名_82

快照

snapshot

快照(snapshot)就是表在某个时刻的结构和数据。可以使用快照来将某个表恢复到某个时刻的结构和数据。通过snapshot命令可以创建指定表的快照。

格式:

  • snapshot ‘表名’, ‘快照名’
  • snapshot ‘表名’, ‘快照名’, { SKIP_FLUSH => true }

范例:

hbase shell过滤器 hbase shell split_时间戳_83

list_snapshots

列出所有快照。可以传入正则表达式来查询快照列表。

格式:

  • list_snapshots
  • list_snapshots ‘正则表达式’

hbase shell过滤器 hbase shell split_表名_84

restore_snapshot

使用快照恢复表。由于表的数据会被全部重置,所以在根据快照恢复表之前,必须要先停用该表。

格式:

  • restore_snapshot ‘快照名’

hbase shell过滤器 hbase shell split_服务器_85

clone_snapshot

使用快照的数据创建出一张新表。创建的过程很快,因为使用的方式不是复制数据,并且修改新表的数据也不会影响旧表的数据。

格式:

  • clone_snapshot ‘快照名’, ‘新表名’

hbase shell过滤器 hbase shell split_时间戳_86

delete_snapshot

删除快照。

格式:

  • delete_snapshot ‘快照名’

范例:

hbase shell过滤器 hbase shell split_hbase shell过滤器_87

delete_all_snapshot

同时删除多个跟正则表达式匹配的快照。

格式:

  • delete_all_snapshot ‘正则表达式’

hbase shell过滤器 hbase shell split_时间戳_88

命名空间

list_namespace

列出所有命名空间。你还可以通过传入正则表达式来过滤结果。

格式:

  • list_namespace
  • list_namespace ‘正则表达式’

hbase shell过滤器 hbase shell split_hbase shell过滤器_89

list_namespace_tables

列出该命名空间下的表。

格式:

  • list_namespace_tables’命名空间名’

hbase shell过滤器 hbase shell split_时间戳_90

create_namespace

创建命名空间。你还可以在创建命名空间的同时指定属性。

格式:

  • create_namespace’命名空间名’
  • create_namespace’命名空间名’, { ‘属性名’ => ‘属性值’ }

hbase shell过滤器 hbase shell split_表名_91

describe_namespace

显示命名空间定义。

格式:

  • describe_namespace’命名空间名’

范例:

hbase shell过滤器 hbase shell split_表名_92

alter_namespace

更改命名空间的属性或者删除该属性。如果METHOD使用set表示设

定属性,使用unset表示删除属性。

格式:

  • alter_namespace’命名空间名’, {METHOD => ‘set’, ‘属性名’=> ‘属性值’}
  • alter_namespace’命名空间名’, {METHOD => ‘unset’,NAME=>‘属性值’}

hbase shell过滤器 hbase shell split_时间戳_93

drop_namespace

删除命名空间。不过在删除之前,请先确保命名空间内没有表,否则你会得到以下报错信息:

hbase shell过滤器 hbase shell split_服务器_94

格式:

  • drop_namespace’命名空间名’

配置

update_config

要求指定服务器重新加载配置文件。参数为服务器标识码。

格式:

  • update_config ‘服务器标识码’

hbase shell过滤器 hbase shell split_hbase shell过滤器_95

update_all_config

要求所有服务器重新加载配置文件。

格式:

  • update_all_config

hbase shell过滤器 hbase shell split_服务器_96

PS

以上内容不包括标签,备份和安全部分