org.apache.hadoop.hbase.TableNotFoundException: SYSTEM.CATALOG exception with phoenix 4.5.2

来源:互联网 发布:长沙软件培训机构 编辑:程序博客网 时间:2024/06/16 10:03

错误提示:

org.apache.phoenix.exception.PhoenixIOException: SYSTEM.CATALOG    at org.apache.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:108)    at org.apache.phoenix.query.ConnectionQueryServicesImpl.metaDataCoprocessorExec(ConnectionQueryServicesImpl.java:1051)    at org.apache.phoenix.query.ConnectionQueryServicesImpl.metaDataCoprocessorExec(ConnectionQueryServicesImpl.java:1014)    at org.apache.phoenix.query.ConnectionQueryServicesImpl.createTable(ConnectionQueryServicesImpl.java:1259)    at org.apache.phoenix.query.DelegateConnectionQueryServices.createTable(DelegateConnectionQueryServices.java:113)    at org.apache.phoenix.schema.MetaDataClient.createTableInternal(MetaDataClient.java:1937)    at org.apache.phoenix.schema.MetaDataClient.createTable(MetaDataClient.java:751)    at org.apache.phoenix.compile.CreateTableCompiler$2.execute(CreateTableCompiler.java:186)    at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:320)    at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:312)    at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)    at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:310)    at org.apache.phoenix.jdbc.PhoenixStatement.executeUpdate(PhoenixStatement.java:1422)    at org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:1927)    at org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:1896)    at org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:77)    at org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:1896)    at org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:180)    at org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.connect(PhoenixEmbeddedDriver.java:132)    at org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:151)    at org.apache.tools.ant.taskdefs.JDBCTask.getConnection(JDBCTask.java:370)    at org.apache.tools.ant.taskdefs.SQLExec.getConnection(SQLExec.java:940)    at org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:612)    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)    at java.lang.reflect.Method.invoke(Method.java:606)    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)    at org.apache.tools.ant.Task.perform(Task.java:348)    at org.apache.tools.ant.Target.execute(Target.java:435)    at org.apache.tools.ant.Target.performTasks(Target.java:456)    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)    at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)    at org.apache.tools.ant.Project.executeTargets(Project.java:1248)    at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:440)    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)    at java.lang.reflect.Method.invoke(Method.java:606)    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)    at org.apache.tools.ant.Task.perform(Task.java:348)    at org.apache.tools.ant.Target.execute(Target.java:435)    at org.apache.tools.ant.Target.performTasks(Target.java:456)    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)    at org.apache.tools.ant.Project.executeTarget(Project.java:1364)    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)    at org.apache.tools.ant.Project.executeTargets(Project.java:1248)    at org.apache.tools.ant.Main.runBuild(Main.java:851)    at org.apache.tools.ant.Main.startAnt(Main.java:235)    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)Caused by: org.apache.hadoop.hbase.TableNotFoundException: SYSTEM.CATALOG    at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegionInMeta(ConnectionManager.java:1257)    at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1155)    at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1139)    at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1096)    at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.getRegionLocation(ConnectionManager.java:931)    at org.apache.hadoop.hbase.client.HRegionLocator.getRegionLocation(HRegionLocator.java:83)    at org.apache.hadoop.hbase.client.HTable.getRegionLocation(HTable.java:496)    at org.apache.hadoop.hbase.client.HTable.getKeysAndRegionsInRange(HTable.java:736)    at org.apache.hadoop.hbase.client.HTable.getKeysAndRegionsInRange(HTable.java:706)    at org.apache.hadoop.hbase.client.HTable.getStartKeysInRange(HTable.java:1760)    at org.apache.hadoop.hbase.client.HTable.coprocessorService(HTable.java:1715)    at org.apache.hadoop.hbase.client.HTable.coprocessorService(HTable.java:1695)    at org.apache.phoenix.query.ConnectionQueryServicesImpl.metaDataCoprocessorExec(ConnectionQueryServicesImpl.java:1034)    ... 49 more

2.解决办法

  方法1:/bin/hbase clean --cleanAll

  在执行上述命令之前:先关闭hbase(包括HMaster和regionServer)

  方法2:/bin/ hbase zkcli

   ls /hbase/table

  如果有下面的表:SYSTEM.CATALOG, SYSTEM.SEQUENCE, SYSTEM.STATS, and SYSTEM.FUNCTION,则执行如下命令

  rmr /hbase/table/SYSTEM.CATALOG

  rmr /hbase/table/SYSTEM.SEQUENCE

  rmr /hbase/table/SYSTEM.STATS

  rmr /hbase/table/SYSTEM.FUNCTION

  方法3:/bin/hbase clean --cleanAll

   在执行上述命令之前:先关闭hbase(包括HMaster和regionServer)

3.重新启动hbase

4.通过 ./sqlline.py 进入phoenix,系统会自动创建Phoenix的系统表

0 0
原创粉丝点击