Created 11-18-2015 11:49 PM
I'm working on a Java application that utilizes HDFS and HBase APIs and connects to an HDP 2.2.4 cluster. This version of HDP ships with HBase v0.98.4 and Hadoop v2.6.0. I see that hbase-client jar requires in an older version (v2.2.0) of hadoop-auth, hadoop-common, hadoop-mapreduce-client-core, and hadoop-annotations than what is shipped with HDP 2.2.4.
Will HBase client have any issues if I exclude the older dependencies and manually specify the correct versions?
Created 11-18-2015 11:59 PM
You should ALWAYS depend on HDP version of the artifacts instead of the Apache version of the artifacts coming from the HDP maven repositories. The dependencies that is resolved from the maven artifacts will be correctly resolved to the exact same version of the artifacts.
Remember that, the base versions od HDP client and server jars are only indicative of what commits are in those binaries. However, HDP version of the client jars might contain other fixes that is not available in that particular apache base version.
See Item (6) in http://community.hortonworks.com/articles/4091/hbase-client-application-best-practices.html
Created 11-18-2015 11:54 PM
I think you should be able to just compile with hbase-client and hadoop-client with their respective versions.
Created 11-18-2015 11:59 PM
You should ALWAYS depend on HDP version of the artifacts instead of the Apache version of the artifacts coming from the HDP maven repositories. The dependencies that is resolved from the maven artifacts will be correctly resolved to the exact same version of the artifacts.
Remember that, the base versions od HDP client and server jars are only indicative of what commits are in those binaries. However, HDP version of the client jars might contain other fixes that is not available in that particular apache base version.
See Item (6) in http://community.hortonworks.com/articles/4091/hbase-client-application-best-practices.html