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.<init>(TableEventHandler.java:70)
at org.apache.hadoop.hbase.master.handler.TableDeleteFamilyHandler.<init>(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(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.<init>(TableEventHandler.java:70)
at org.apache.hadoop.hbase.master.handler.TableDeleteFamilyHandler.<init>(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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2134473/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- VUE—刪除HelloWorld.vue後報錯 `--fix` option報錯的解決Vue
- 直接分離刪除日誌檔案後附加報錯的簡單解決方法
- 刪除APPLY出錯解決APP
- 新增刪除程式打不開怎麼辦 新增刪除程式報錯解決辦法
- 陣列的方法-新增刪除陣列
- 魅族Pro5 USB除錯在哪 魅族PRO 5開啟USB除錯方法除錯
- 幾個報錯的解決方法
- dual系統表被刪除的解決方法
- hive使用報錯解決方法Hive
- /initrd目錄的作用和當刪除時出現的錯誤解決方法(轉)
- 資料夾刪除不了怎麼辦?資料夾刪除不了的解決方法
- 關於集合遍歷並刪除報錯詳解
- HBase最佳實踐-列族設計優化優化
- dbfread報錯ValueError錯誤解決方法Error
- PHP從陣列中刪除元素的方法PHP陣列
- ***XAMPP:報錯Unabletoloaddynamiclibrary的解決方法
- 刪除表空間報錯ORA-00604&ORA-02429解決過程
- mongoDB的db.shutdownServer()報錯的解決方法MongoDBServer
- Windows、Linux下檔案操作(寫、刪除)錯誤的產生原因、及解決方法WindowsLinux
- 刪除檔案或目錄提示"檔案或目錄無法刪除"的解決方法!
- Javascript自定義陣列刪除方法remove()JavaScript陣列REM
- win10強制刪除資料夾的解決方法Win10
- win10強制刪除dll檔案的解決方法Win10
- linux 用rm -rf 刪除不了檔案的解決方法Linux
- ceph叢集安裝報錯解決方法
- RAC: SRVCTL and VIPCA 命令報錯解決方法PCA
- MRTG生成首頁報錯解決方法
- DBMS_METADATA報錯解決方法
- JS刪除陣列裡的某個元素方法JS陣列
- 安裝psutil模組報錯的解決方法
- 刪除大量檔案Argument list too long錯誤解決
- 刪除事件(解綁事件)/ 刪除事件相容性解決方案事件
- SS報錯的解決
- 【HBase】誤刪除資料怎麼辦?
- kaldi的編譯安裝與報錯解決方法編譯
- Nginx報504 gateway timeout錯誤的解決方法NginxGateway
- R語言的各種報錯及其解決方法R語言
- Nginx 報錯 504 Gateway Time-out 的解決方法NginxGateway