189 8069 5689

HBase删除列族报错怎么办

本篇内容介绍了“HBase删除列族报错怎么办”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联专注于昌江黎族企业网站建设,响应式网站建设,商城开发。昌江黎族网站建设公司,为昌江黎族等地区提供建站服务。全流程按需网站制作,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

今天做实验,删除member表某一列的时候,报错
hbase(main):003:0> alter 'member','delete'=>'info'

ERROR: org.apache.hadoop.hbase.TableNotDisabledException: org.apache.hadoop.hbase.TableNotDisabledException: member
        at org.apache.hadoop.hbase.master.HMaster.checkTableModifiable(HMaster.java:1217)
        at org.apache.hadoop.hbase.master.handler.TableEventHandler.(TableEventHandler.java:70)
        at org.apache.hadoop.hbase.master.handler.TableDeleteFamilyHandler.(TableDeleteFamilyHandler.java:40)
        at org.apache.hadoop.hbase.master.HMaster.deleteColumn(HMaster.java:1125)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
        at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)


解决方案:先disable这张表:
hbase(main):005:0> disable 'member'
0 row(s) in 2.1560 seconds


然后再删除:
hbase(main):006:0> alter 'member', 'delete' => 'info'
Updating all regions with the new schema...
1/1 regions updated.
Done.
0 row(s) in 1.3370 seconds


查看表情况:

hbase(main):011:0> describe 'member'
DESCRIPTION                                                                                 ENABLED
 {NAME => 'member', FAMILIES => [{NAME => 'address', BLOOMFILTER => 'NONE', REPLICATION_SCO true
 PE => '0', VERSIONS => '3', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => '2147483647
 ', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}, {NAME => 'member_id'
 , BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE',
  MIN_VERSIONS => '0', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLO
 CKCACHE => 'true'}]}
1 row(s) in 0.0140 seconds

我们可以发现member表的info字段已经被删除了。

最后记得要启用表:

hbase(main):009:0> enable 'member'
0 row(s) in 2.2330 seconds

“HBase删除列族报错怎么办”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


网站栏目:HBase删除列族报错怎么办
网页URL:http://cdxtjz.com/article/jsdcpi.html

其他资讯