Hi,
I'm getting errors whether I'm trying to use Phoenix using the client jar
or the minimal jar, in the context of an application deployed to Tomcat.
In the client jar, I have hbase.defaults.for.version set to 0.98.1-hadoop2,
and I'm running against hadoop 2.4 and hbase 0.98.2. I get the error whose
stack trace I'm attaching as Stack 1 below. It's almost like Phoenix is
still trying to find Hadoop 1, perhaps?

I've tried switching to the minimal jar and determining the set of
dependency jars for it and I get the error as per Stack 2 below. I've
looked at org.apache.hadoop.hbase.client.Scan and I can't seem to tell what
could cause the NoClassDefFoundError there. Could it be the Hadoop
annotations or the LogFactory.getLog(Scan.class)?
Any ideas/pointers would be appreciated, thanks.

Stack 1:
Caused by: java.lang.NoSuchMethodError:
org.apache.hadoop.conf.Configuration.addDeprecations([Lorg/apache/hadoop/conf/Configuration$DeprecationDelta;)V
at
org.apache.hadoop.hdfs.HdfsConfiguration.addDeprecatedKeys(HdfsConfiguration.java:66)
~[hadoop-hdfs-2.4.0.jar:?]
at
org.apache.hadoop.hdfs.HdfsConfiguration.<clinit>(HdfsConfiguration.java:31)
~[hadoop-hdfs-2.4.0.jar:?]
at
org.apache.hadoop.hdfs.DistributedFileSystem.<clinit>(DistributedFileSystem.java:110)
~[hadoop-hdfs-2.4.0.jar:?]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
~[?:1.6.0_28]
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
~[?:1.6.0_28]
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
~[?:1.6.0_28]
at java.lang.reflect.Constructor.newInstance(Constructor.java:534)
~[?:1.6.0_28]
at java.lang.Class.newInstance(Class.java:374) ~[?:1.6.0_28]
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:373)
~[?:1.6.0_28]
at java.util.ServiceLoader$1.next(ServiceLoader.java:445) ~[?:1.6.0_28]
at org.apache.hadoop.fs.FileSystem.loadFileSystems(FileSystem.java:2400)
~[phoenix-4.0.0-incubating-client.jar:4.0.0-incubating]
at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2411)
~[phoenix-4.0.0-incubating-client.jar:4.0.0-incubating]
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2428)
~[phoenix-4.0.0-incubating-client.jar:4.0.0-incubating]
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:88)
~[phoenix-4.0.0-incubating-client.jar:4.0.0-incubating]
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2467)
~[phoenix-4.0.0-incubating-client.jar:4.0.0-incubating]
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2449)
~[phoenix-4.0.0-incubating-client.jar:4.0.0-incubating]
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:367)
~[phoenix-4.0.0-incubating-client.jar:4.0.0-incubating]
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:166)
~[phoenix-4.0.0-incubating-client.jar:4.0.0-incubating]
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:351)
~[phoenix-4.0.0-incubating-client.jar:4.0.0-incubating]
at org.apache.hadoop.fs.Path.getFileSystem(Path.java:287)
~[phoenix-4.0.0-incubating-client.jar:4.0.0-incubating]
at
org.apache.hadoop.hbase.util.DynamicClassLoader.<init>(DynamicClassLoader.java:104)
~[phoenix-4.0.0-incubating-client.jar:4.0.0-incubating]
at
org.apache.hadoop.hbase.protobuf.ProtobufUtil.<clinit>(ProtobufUtil.java:201)
~[phoenix-4.0.0-incubating-client.jar:4.0.0-incubating]
at org.apache.hadoop.hbase.ClusterId.parseFrom(ClusterId.java:64)
~[phoenix-4.0.0-incubating-client.jar:4.0.0-incubating]
at
org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:69)
~[phoenix-4.0.0-incubating-client.jar:4.0.0-incubating]
at
org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:83)
~[phoenix-4.0.0-incubating-client.jar:4.0.0-incubating]
at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.retrieveClusterId(HConnectionManager.java:857)
~[phoenix-4.0.0-incubating-client.jar:4.0.0-incubating]
at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:662)
~[phoenix-4.0.0-incubating-client.jar:4.0.0-incubating]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
~[?:1.6.0_28]
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
~[?:1.6.0_28]
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
~[?:1.6.0_28]
at java.lang.reflect.Constructor.newInstance(Constructor.java:534)
~[?:1.6.0_28]
at
org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:414)
~[phoenix-4.0.0-incubating-client.jar:4.0.0-incubating]
at
org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:309)
~[phoenix-4.0.0-incubating-client.jar:4.0.0-incubating]
at
org.apache.phoenix.query.HConnectionFactory$HConnectionFactoryImpl.createConnection(HConnectionFactory.java:47)
~[phoenix-4.0.0-incubating-client.jar:4.0.0-incubating]
at
org.apache.phoenix.query.ConnectionQueryServicesImpl.openConnection(ConnectionQueryServicesImpl.java:252)
~[phoenix-4.0.0-incubating-client.jar:4.0.0-incubating]

===============================

Stack 2:
Caused by: java.lang.NoClassDefFoundError: Could not initialize class
org.apache.hadoop.hbase.client.Scan
at
org.apache.phoenix.compile.CreateTableCompiler.compile(CreateTableCompiler.java:81)
~[phoenix-4.0.0-incubating-client-minimal.jar:?]
at
org.apache.phoenix.jdbc.PhoenixStatement$ExecutableCreateTableStatement.compilePlan(PhoenixStatement.java:436)
~[phoenix-4.0.0-incubating-client-minimal.jar:?]
at
org.apache.phoenix.jdbc.PhoenixStatement$ExecutableCreateTableStatement.compilePlan(PhoenixStatement.java:425)
~[phoenix-4.0.0-incubating-client-minimal.jar:?]
at
org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:224)
~[phoenix-4.0.0-incubating-client-minimal.jar:?]
at
org.apache.phoenix.jdbc.PhoenixStatement.executeUpdate(PhoenixStatement.java:908)
~[phoenix-4.0.0-incubating-client-minimal.jar:?]
at
org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:1452)
~[phoenix-4.0.0-incubating-client-minimal.jar:?]
at
org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:131)
~[phoenix-4.0.0-incubating-client-minimal.jar:?]
at
org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.connect(PhoenixEmbeddedDriver.java:112)
~[phoenix-4.0.0-incubating-client-minimal.jar:?]
at java.sql.DriverManager.getConnection(DriverManager.java:571)
~[?:1.7.0_51]
at java.sql.DriverManager.getConnection(DriverManager.java:233)
~[?:1.7.0_51]

Reply via email to