Jdbc 要连接到Phoenix的Squirrel设置-HBASE:Error java.util.concurrent.ExecutionException:java.lang.RuntimeException:java.lang.NoSuchMethodError:

Jdbc 要连接到Phoenix的Squirrel设置-HBASE:Error java.util.concurrent.ExecutionException:java.lang.RuntimeException:java.lang.NoSuchMethodError:,jdbc,hbase,squirrel-sql,phoenix,Jdbc,Hbase,Squirrel Sql,Phoenix,我是Hbase&phoenix的新手。我正在尝试使用Squirrel客户端通过Phoenix JDBC驱动程序连接到HBASE。不知何故,我似乎遇到了一个奇怪的错误,运行时抱怨NoSuchMethod异常。我已将相关客户端jarphoenix-4.4.0-HBase-1.0-client包含在Squirrel的lib文件夹中,并成功注册了驱动程序。当我尝试连接时,我得到了这个异常,这似乎有点奇怪。我已经提取了jar,并看到方法getCurrentUser()确实存在于org/apache/had

我是Hbase&phoenix的新手。我正在尝试使用Squirrel客户端通过Phoenix JDBC驱动程序连接到HBASE。不知何故,我似乎遇到了一个奇怪的错误,运行时抱怨NoSuchMethod异常。我已将相关客户端jarphoenix-4.4.0-HBase-1.0-client包含在Squirrel的lib文件夹中,并成功注册了驱动程序。当我尝试连接时,我得到了这个异常,这似乎有点奇怪。我已经提取了jar,并看到方法getCurrentUser()确实存在于org/apache/hadoop/security/UserGroupInformation.class文件中

java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.lang.NoSuchMethodError: org.apache.hadoop.security.UserGroupInformation.getCurrentUser()Lorg/apache/hadoop/security/UserGroupInformation;
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:202)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.awaitConnection(OpenConnectionCommand.java:132)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$100(OpenConnectionCommand.java:45)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$2.run(OpenConnectionCommand.java:115)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)

我终于发现了它。hadoop-0.20.2-core.jar和phoenix-4.4.0-HBase-1.0-client.jar具有常见的重叠类,它们位于Squirrel客户端的lib文件夹中。hadoop-0.20.2-core.jar需要连接到hive,而phoenix客户端jar需要连接到hbase

每当我需要连接到其中一个时,我必须在启动squirrel客户端时从lib文件夹中排除其中一个