[ https://issues.apache.org/jira/browse/HBASE-5286?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
stack resolved HBASE-5286. -------------------------- Resolution: Fixed Fix Version/s: 0.94.0 0.92.1 Hadoop Flags: Reviewed I tried it. Works. Default codepath unaffected. Committed to 0.94, 0.92, and trunk. Thanks for the patch Roman. > bin/hbase's logic of adding Hadoop jar files to the classpath is fragile when > presented with split packaged Hadoop 0.23 installation > ------------------------------------------------------------------------------------------------------------------------------------ > > Key: HBASE-5286 > URL: https://issues.apache.org/jira/browse/HBASE-5286 > Project: HBase > Issue Type: Bug > Components: scripts > Affects Versions: 0.92.0 > Reporter: Roman Shaposhnik > Assignee: Roman Shaposhnik > Fix For: 0.92.1, 0.94.0 > > Attachments: HBASE-5286.patch.txt > > > Here's the bit from bin/hbase that might need TLC now that Hadoop can be > spotted in the wild in split-package configuration: > {noformat} > #If avail, add Hadoop to the CLASSPATH and to the JAVA_LIBRARY_PATH > if [ ! -z $HADOOP_HOME ]; then > HADOOPCPPATH="" > if [ -z $HADOOP_CONF_DIR ]; then > HADOOPCPPATH=$(append_path "${HADOOPCPPATH}" "${HADOOP_HOME}/conf") > else > HADOOPCPPATH=$(append_path "${HADOOPCPPATH}" "${HADOOP_CONF_DIR}") > fi > if [ "`echo ${HADOOP_HOME}/hadoop-core*.jar`" != > "${HADOOP_HOME}/hadoop-core*.jar" ] ; then > HADOOPCPPATH=$(append_path "${HADOOPCPPATH}" `ls > ${HADOOP_HOME}/hadoop-core*.jar | head -1`) > else > HADOOPCPPATH=$(append_path "${HADOOPCPPATH}" `ls > ${HADOOP_HOME}/hadoop-common*.jar | head -1`) > HADOOPCPPATH=$(append_path "${HADOOPCPPATH}" `ls > ${HADOOP_HOME}/hadoop-hdfs*.jar | head -1`) > HADOOPCPPATH=$(append_path "${HADOOPCPPATH}" `ls > ${HADOOP_HOME}/hadoop-mapred*.jar | head -1`) > fi > {noformat} > There's a couple of issues with the above code: > 0. HADOOP_HOME is now deprecated in Hadoop 0.23 > 1. the list of jar files added to the class-path should be revised > 2. we need to figure out a more robust way to get the jar files that are > needed to the classpath (things like hadoop-mapred*.jar tend to match > src/test jars as well) > Better yet, it would be useful to look into whether we can transition HBase's > bin/hbase onto using bin/hadoop as a launcher script instead of direct JAVA > invocations (Pig, Hive, Sqoop and Mahout already do that) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira