项目中使用了Phoenix +HBASE的大数据平台。
JAVA8 + Mybatis + SpringMVC 框架下,无论是通过 phoenix-4.14.0-cdh5.14.2-client.jar 驱动来查询数据表还是通过
SQuirrel 客户端工具查询界面来访问该数据表,均报以下错误:
org.apache.phoenix.exception.PhoenixIOException: org.apache.hadoop.hbase.DoNotRetryIOException: MyDATA_TABLE: at index 76
at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:120)
at org.apache.phoenix.coprocessor.MetaDataEndpointImpl.getTable(MetaDataEndpointImpl.java:598)
at org.apache.phoenix.coprocessor.generated.MetaDataProtos$MetaDataService.callMethod(MetaDataProtos.java:16357)
at org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:7874)
at org.apache.hadoop.hbase.regionserver.RSRpcServices.execServiceOnRegion(RSRpcServices.java:1989)
at org.apache.hadoop.hbase.regionserver.RSRpcServices.execService(RSRpcServices.java:1971)

在使用Phoenix 4.14.0-cdh5.14.2客户端与HBASE配合的JAVA应用中,遇到'hbase.DoNotRetryIOException'错误。该错误在查询数据表时出现,无论通过Java驱动还是SQuirrel SQL客户端。错误的根本原因是Phoenix对于特定数据表的映射与HBASE中定义不一致,缺少某个字段。解决方案是通过SQuirrel客户端删除SYSTEM.CATALOG中的表定义,然后重新创建表,从而恢复正常数据访问,且不会丢失原有数据。
最低0.47元/天 解锁文章
5396

被折叠的 条评论
为什么被折叠?



