I have been trying to develop a web-app which takes data through rest and inserts the same data in hbase using phoenix. I have tried to deploy my application on tomcat and it works fine. But is throws the following runtime exception while deploying it on jboss.
Caused by: java.lang.RuntimeException: hbase-default.xml file seems to be for and old version of HBase (null), this version is 0.94.7 at org.apache.hadoop.hbase.HBaseConfiguration.checkDefaultsVersion(HBaseConfiguration.java:68) at org.apache.hadoop.hbase.HBaseConfiguration.addHbaseResources(HBaseConfiguration.java:100) at org.apache.hadoop.hbase.HBaseConfiguration.create(HBaseConfiguration.java:111) at com.salesforce.phoenix.query.ConfigurationFactory$ConfigurationFactoryImpl.getConfiguration(ConfigurationFactory.java:51) at com.salesforce.phoenix.query.QueryServicesOptions.withDefaults(QueryServicesOptions.java:99) at com.salesforce.phoenix.query.QueryServicesImpl.(QueryServicesImpl.java:44) at com.salesforce.phoenix.jdbc.PhoenixDriver.(PhoenixDriver.java:67) at com.salesforce.phoenix.jdbc.PhoenixDriver.(PhoenixDriver.java:58) ... 11 more
First i thought that class path has two default xmls and its throwing the error because one of the two is from some older version of hbase jar. But the class path has no hbase jar. It only has one phoenix-2.0.1-client.jar. I have tried the following things after that
- Setting "hbase.default.for.version.skip" to true in hbase-site.xml and adding that to class path
- Setting "hbase.default.for.version.skip" to true in hbase-default.xml
- Just for experiment's sake i also tried deleting the hbase-default.xml.
Nothing has worked so far. The result being constant. I am using cloudera hbase cdh 4.4 . Any help would be extremely appreciated. Thanks in advance.