分享

phoenix无法drop table

删除表 报错:

可能原因:是我在建表的时候,列里面有重复的名字,可是这phoenix也太奇葩了,建好表之后,不让删除?

Caused by: org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(org.apache.hadoop.hbase.DoNotRetryIOException): org.apache.hadoop.hbase.DoNotRetryIOException: BAY: 21
    at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:84)
    at org.apache.phoenix.coprocessor.MetaDataEndpointImpl.dropTable(MetaDataEndpointImpl.java:970)
    at org.apache.phoenix.coprocessor.generated.MetaDataProtos$MetaDataService.callMethod(MetaDataProtos.java:7768)
    at org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:5907)
    at org.apache.hadoop.hbase.regionserver.HRegionServer.execServiceOnRegion(HRegionServer.java:3464)
    at org.apache.hadoop.hbase.regionserver.HRegionServer.execService(HRegionServer.java:3446)
    at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:30950)
    at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2093)
    at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:101)
    at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130)
    at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 21
    at org.apache.phoenix.schema.PTableImpl.init(PTableImpl.java:354)
    at org.apache.phoenix.schema.PTableImpl.<init>(PTableImpl.java:276)
    at org.apache.phoenix.schema.PTableImpl.makePTable(PTableImpl.java:265)
    at org.apache.phoenix.coprocessor.MetaDataEndpointImpl.getTable(MetaDataEndpointImpl.java:643)
    at org.apache.phoenix.coprocessor.MetaDataEndpointImpl.buildTable(MetaDataEndpointImpl.java:377)
    at org.apache.phoenix.coprocessor.MetaDataEndpointImpl.doDropTable(MetaDataEndpointImpl.java:990)
    at org.apache.phoenix.coprocessor.MetaDataEndpointImpl.dropTable(MetaDataEndpointImpl.java:944)
    ... 10 more
    at org.apache.hadoop.hbase.ipc.RpcClient.call(RpcClient.java:1457)
    at org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1661)
    at org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1719)
    at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.execService(ClientProtos.java:30411)
    at org.apache.hadoop.hbase.protobuf.ProtobufUtil.execService(ProtobufUtil.java:1607)
    ... 14 more


已有(12)人评论

跳转到指定楼层
tntzbzc 发表于 2015-6-1 11:28:41
hbase能直接删除吗?
为何还有数组越界的情况
回复

使用道具 举报

linjikai8888 发表于 2015-6-1 12:13:32
tntzbzc 发表于 2015-6-1 11:28
hbase能直接删除吗?
为何还有数组越界的情况

奇怪的是,我已经 把hbase的表删除了,可是phoenix表  还存在着,而且对 这个 表无法删除  无法查询,报错 都是贴出来的那些

回复

使用道具 举报

tntzbzc 发表于 2015-6-1 12:16:07
linjikai8888 发表于 2015-6-1 12:13
奇怪的是,我已经 把hbase的表删除了,可是phoenix表  还存在着,而且对 这个 表无法删除  无法查询,报 ...

那就不奇怪了,因为真实的表已经不存在了。
所以产生越界

phoenix看看是不是还有缓存什么的,清理下,重启等措施试试
回复

使用道具 举报

linjikai8888 发表于 2015-6-1 12:19:30
tntzbzc 发表于 2015-6-1 12:16
那就不奇怪了,因为真实的表已经不存在了。
所以产生越界

真实表存在 的时候就报这个错啦!

所以我才去动hbase的表,重启也试过了,phoenix database不懂是放哪,想动它的源数据了。

回复

使用道具 举报

tntzbzc 发表于 2015-6-1 12:36:01
linjikai8888 发表于 2015-6-1 12:19
真实表存在 的时候就报这个错啦!

所以我才去动hbase的表,重启也试过了,phoenix database不懂是放哪 ...



[mw_shl_code=bash,true]org.apache.hadoop.hbase.DoNotRetryIOException: [/mw_shl_code]

产生这个错误说明找不到表,无论是楼主把表删除了,话你是没有删除,都是找不到表。
也就是说二者没有联系了
org.apache.hadoop.hbase
Class DoNotRetryIOException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.io.IOException
org.apache.hadoop.hbase.HBaseIOException
org.apache.hadoop.hbase.DoNotRetryIOException
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
AccessDeniedException, CoprocessorException, DoNotRetryRegionException, FailedSanityCheckException, FatalConnectionException, HBaseSnapshotException, InvalidFamilyOperationException, LeaseException, LockTimeoutException, NamespaceExistException, NamespaceNotFoundException, NoSuchColumnFamilyException, NotAllMetaRegionsOnlineException, OperationConflictException, QuotaExceededException, ScannerTimeoutException, TableExistsException, TableNotDisabledException, TableNotEnabledException, TableNotFoundException, UnknownProtocolException, UnknownScannerException


1.png


连接



回复

使用道具 举报

linjikai8888 发表于 2015-6-1 14:31:29

那么在 phoenix上 如何删除这张表,您清楚吗?

回复

使用道具 举报

tntzbzc 发表于 2015-6-1 14:41:01
linjikai8888 发表于 2015-6-1 14:31
那么在 phoenix上 如何删除这张表,您清楚吗?

phoenix是可以删除的,只不过你的phoenix和hbase通信似乎有问题。导致找不到表
回复

使用道具 举报

linjikai8888 发表于 2015-6-2 20:55:47
tntzbzc 发表于 2015-6-1 14:41
phoenix是可以删除的,只不过你的phoenix和hbase通信似乎有问题。导致找不到表

我已经把它删掉啦!

phoenix自己储存在三个system表里面,在里面删去就好了。

回复

使用道具 举报

leo_1989 发表于 2015-6-2 21:30:24
linjikai8888 发表于 2015-6-2 20:55
我已经把它删掉啦!

phoenix自己储存在三个system表里面,在里面删去就好了。

自己有,那他怎么实现操作hbase,也就是他们之间的关联是什么。
楼主认为system表的作用是什么
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条