博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hbase修改表名
阅读量:5871 次
发布时间:2019-06-19

本文共 1969 字,大约阅读时间需要 6 分钟。

hot3.png

hbase修改表名

hbase修改表名没有直接的api可以调用,我们如果想要修改表名,可以利用快照的方式。

需要开启快照功能,在hbase-site.xml文件中添加如下配置项:

<property>
<name>hbase.snapshot.enabled</name>
<value>true</value>
</property>

命令

hbase shell> disable 'tableName'
hbase shell> snapshot 'tableName', 'tableSnapshot'
hbase shell> clone_snapshot 'tableSnapshot', 'newTableName'

然后我们就可以测试一下新表是否建立成功。

快照是什么?

快照就是一份元信息的合集,允许管理员恢复到表的先前状态。快照不是表的复制而是一个文件名称列表,因而不会复制数据。完全快照恢复是指恢复到之前的“表结构”以及当时的数据,快照之后发生的数据不会恢复。

操作

生成快照:本操作尝试对指定表生成快照。如果集群在执行数据均衡、分隔或合并等操作时,可能会引起操作失败。

克隆快照:本操作使用与指定快照相同的结构数据构建一张新表。操作结果会生成一张有完整功能的表,对该表的任意修改不会对原表或快照产生影响。
还原快照:本操作将表结构和数据恢复到生成快照时的状态。(注意:本操作会舍弃快照生成后任何改变)。
删除快照:本操作将系统中的快照删除,释放未共享的磁盘空间,而且不会影响其他克隆或快照。
导出快照:本操作将快照数据和元数据复制到其他集群。操作只会涉及HDFS,不会与Master或域服务器产生任何联系,因此HBase集群可以关闭。
零复制快照,恢复,克隆

快照和复制/导出表之间的主要差异是快照操作只写入元数据,不涉及海量数据。

HBase的主要设计原则之一就是一旦文件写入就不再修改。文件不可变意味着快照只需保持对快照产生时存在的文件追踪,并且在压缩时负责提示系统该文件不应删除而是应当归档保存。

同样的原则也适用于克隆和恢复操作。因为文件是不变的,新建一个表只需要通过快照“链接”到文件引用即可。

导出快照是唯一需要复制数据的操作,因为其他集群没有数据文件。

导出快照 vs 复制/导出表

导出快照与复制/导出表除了更好地保持一致性外,主要的不同在于导出快照是在HDFS的层面操作的。这意味这Master和域服务器与操作无关。因此不需要为不必要的数据创建缓存空间,也不会有扫描过程因为大量对象创建引起的GC暂停。对于HBase来说主要性能影响就是DataNode额外的网络和磁盘负载。

HBase命令:快照操作

通过检查hbase-site.xml中的hbase.snapshot.enabled是否设置为true确认打开了快照许可。获取指定表的快照使用snapshot命令(不产生文件复制)

hbase>snapshot ‘tableName’, ‘snapshotName’

列出所有的快照,使用 list_snapshot 命令。会展示出快照名称,源表,以及创建日期和时间

hbase>list_snapshots

使用clone_snapshot命令从指定的快照生成新表(克隆)。由于不会产生数据复制,所以最终用到的数据不会是之前的两倍。

hbase>clone_snapshot ‘snapshotName’, ‘newTableName’

使用restore_snapshot命令将指定快照内容替换当前表结构/数据。

用快照恢复数据,它需要先禁用表,再进行恢复

hbase>disable 'myTable' hbase>restore_snapshot ‘snapshotName’

 删除快照使用 deleted_snapshot 命令。删除快照不会影响到克隆表或者之后生成的快照。

hbase>delete_snapshot ‘snapshotName’

使用ExportSnapshot工具将现有快照导出至其他集群。导出工具不会影响到域服务器负载,只是工作在HDFS层面所以需要指定HDFS路径(其他集群的hbase根目录)

采用16个mappers来把一个名为MySnapshot的快照复制到一个名为hbfreeoa2的集群当中

hbase class org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot MySnapshot -copy-to hdfs://hbfreeoa2:8020/hbase -mappers 16

转载于:https://my.oschina.net/u/2000675/blog/661886

你可能感兴趣的文章
web前端基础知识总结
查看>>
eclipse新建tomcat server但是总是报404的解决方法
查看>>
winform文件迁移工具
查看>>
AutoFac文档9(转载)
查看>>
[置顶] 删除:大数据取舍之道读书笔记
查看>>
C#获得和发送网站Session
查看>>
Linux环境下安装Tigase XMPP Server
查看>>
mybatis expected at least 1 bean which qualifies as autowire candidate for this dependency
查看>>
JAVA设计模式《四》
查看>>
连载《一个程序猿的生命周期》-6、自学C++,二级考过后,为工作的机会打下了基础...
查看>>
Session,Cookie,jsessionid,Url重写
查看>>
总有几位老师让你一生感激不尽----我的大学老师
查看>>
Lintcode: Update Bits
查看>>
深入理解JVM--类的执行机制
查看>>
0c-38-ARC快速入门
查看>>
CSS中margin和padding的区别
查看>>
Clojure学习02:语法
查看>>
docker安装hadoop
查看>>
URL安全的Base64编码
查看>>
安装Node和NPM
查看>>