4

我无法通过 Apache phoenix 驱动程序连接到 HBase。环境信息:hadoop-2.6.0。
hbase-0.98.9-hadoop2。
phoenix-4.1.0-server-hadoop2(保留在所有区域服务器上)。
phoenix-4.1.0-client-hadoop2(使用这个jar创建jdbc连接)。


Java客户端,我收到异常

引起:org.apache.phoenix.exception.PhoenixIOException: org.apache.hadoop.hbase.DoNotRetryIOException: java.io.IOException: Class org.apache.phoenix.coprocessor.MetaDataRegionObserver 不能在...加载
引起:java .io.IOException:类 org.apache.phoenix.coprocessor.MetaDataRegionObserver 无法在 org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.testTableCoprocessorAttrs 加载...


在 HBase 主节点日志中,我收到此错误:

2015-02-02 12:48:11,550 调试 [FifoRpcScheduler.handler1-thread-14] util.FSTableDescriptors:readTableDecriptor 期间出现异常。当前表名 = SYSTEM.CATALOG org.apache.hadoop.hbase.TableInfoMissingException: hdfs://HadoopNode:9000/home/hduser/Data/hbase/data/default/SYSTEM.CATALOG 下没有表描述符文件


我用来创建凤凰连接的代码:

字符串 zkQuorum = "HbaseMasterNode:2222";

try
{
  Class.forName("org.apache.phoenix.jdbc.PhoenixDriver");
  String connectionURL = "jdbc:phoenix:" + zkQuorum;
  Connection connection = DriverManager.getConnection(connectionURL);
  System.out.println(connection);
}
catch (Exception e)
{
  throw new IllegalArgumentException("Create phoenix connection(" + zkQuorum + ") throw exception", e);
}

在基本 Hbase java API 的帮助下,我可以连接,但只有当我尝试将 Phoenix 驱动程序用于 HBase 时,我才会遇到这个问题。

4

0 回答 0