[jira] [Commented] (HBASE-5286) bin/hbase's logic of adding Hadoop jar files to the classpath is fragile when presented with split packaged Hadoop 0.23 installation
[ https://issues.apache.org/jira/browse/HBASE-5286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13222869#comment-13222869 ] Hudson commented on HBASE-5286: --- Integrated in HBase-TRUNK #2672 (See [https://builds.apache.org/job/HBase-TRUNK/2672/]) HBASE-5286 bin/hbase's logic of adding Hadoop jar files to the classpath is fragile when presented with split packaged Hadoop 0.23 installation (Revision 1296663) HBASE-5286 bin/hbase's logic of adding Hadoop jar files to the classpath is fragile when presented with split packaged Hadoop 0.23 installation (Revision 1296661) Result = SUCCESS stack : Files : * /hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/GetJavaProperty.java stack : Files : * /hbase/trunk/bin/hbase 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
[jira] [Commented] (HBASE-5286) bin/hbase's logic of adding Hadoop jar files to the classpath is fragile when presented with split packaged Hadoop 0.23 installation
[ https://issues.apache.org/jira/browse/HBASE-5286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13222114#comment-13222114 ] Hudson commented on HBASE-5286: --- Integrated in HBase-0.92-security #96 (See [https://builds.apache.org/job/HBase-0.92-security/96/]) HBASE-5286 bin/hbase's logic of adding Hadoop jar files to the classpath is fragile when presented with split packaged Hadoop 0.23 installation (Revision 129) Result = FAILURE stack : Files : * /hbase/branches/0.92/CHANGES.txt * /hbase/branches/0.92/bin/hbase * /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/util/GetJavaProperty.java 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
[jira] [Commented] (HBASE-5286) bin/hbase's logic of adding Hadoop jar files to the classpath is fragile when presented with split packaged Hadoop 0.23 installation
[ https://issues.apache.org/jira/browse/HBASE-5286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13221652#comment-13221652 ] Hudson commented on HBASE-5286: --- Integrated in HBase-0.94 #11 (See [https://builds.apache.org/job/HBase-0.94/11/]) HBASE-5286 bin/hbase's logic of adding Hadoop jar files to the classpath is fragile when presented with split packaged Hadoop 0.23 installation (Revision 1296664) Result = SUCCESS stack : Files : * /hbase/branches/0.94/bin/hbase * /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/util/GetJavaProperty.java 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
[jira] [Commented] (HBASE-5286) bin/hbase's logic of adding Hadoop jar files to the classpath is fragile when presented with split packaged Hadoop 0.23 installation
[ https://issues.apache.org/jira/browse/HBASE-5286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13221672#comment-13221672 ] Hudson commented on HBASE-5286: --- Integrated in HBase-0.92 #314 (See [https://builds.apache.org/job/HBase-0.92/314/]) HBASE-5286 bin/hbase's logic of adding Hadoop jar files to the classpath is fragile when presented with split packaged Hadoop 0.23 installation (Revision 129) Result = FAILURE stack : Files : * /hbase/branches/0.92/CHANGES.txt * /hbase/branches/0.92/bin/hbase * /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/util/GetJavaProperty.java 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
[jira] [Commented] (HBASE-5286) bin/hbase's logic of adding Hadoop jar files to the classpath is fragile when presented with split packaged Hadoop 0.23 installation
[ https://issues.apache.org/jira/browse/HBASE-5286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13221799#comment-13221799 ] Hudson commented on HBASE-5286: --- Integrated in HBase-TRUNK-security #128 (See [https://builds.apache.org/job/HBase-TRUNK-security/128/]) HBASE-5286 bin/hbase's logic of adding Hadoop jar files to the classpath is fragile when presented with split packaged Hadoop 0.23 installation (Revision 1296663) HBASE-5286 bin/hbase's logic of adding Hadoop jar files to the classpath is fragile when presented with split packaged Hadoop 0.23 installation (Revision 1296661) Result = FAILURE stack : Files : * /hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/GetJavaProperty.java stack : Files : * /hbase/trunk/bin/hbase 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
[jira] [Commented] (HBASE-5286) bin/hbase's logic of adding Hadoop jar files to the classpath is fragile when presented with split packaged Hadoop 0.23 installation
[ https://issues.apache.org/jira/browse/HBASE-5286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13212223#comment-13212223 ] Todd Lipcon commented on HBASE-5286: What's the advantage of using the hadoop binary to execute HBase instead of doing something like: {code} HADOOP_CLASSPATH=$(hadoop classpath) {code} to use its classpath construction logic? This should work in any reasonably recent Hadoop version. We'd probably want to add something to Hadoop like {{hadoop librarypath}} to get the native libs as well, but this seems a little better than actually using the whole hadoop wrapper script. 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 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
[jira] [Commented] (HBASE-5286) bin/hbase's logic of adding Hadoop jar files to the classpath is fragile when presented with split packaged Hadoop 0.23 installation
[ https://issues.apache.org/jira/browse/HBASE-5286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13212229#comment-13212229 ] Roman Shaposhnik commented on HBASE-5286: - @Todd, I see 2 reasons to potentially prefer the full-blown execution script: # it is guaranteed to work (while hadoop classpath could, potentially, have bugs) # it takes care of niatve libraries setting (and anything else for that matter that might not be covered by the CP) Of course, the last point is way stronger than the first one. That said, I think making HBase script use hadoop classpath instead of the current logic definitely qualifies as an incremental improvement. I'll submit the patch tomorrow and we can worry about native libraries, etc later. 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 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
[jira] [Commented] (HBASE-5286) bin/hbase's logic of adding Hadoop jar files to the classpath is fragile when presented with split packaged Hadoop 0.23 installation
[ https://issues.apache.org/jira/browse/HBASE-5286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13198025#comment-13198025 ] Roman Shaposhnik commented on HBASE-5286: - The basic challenge the way I see it is to have bin/hbase capable of supporting standalone mode AND distribution mode at the same time. HBase needs to keep bundling its dependencies so that one can deploy it straight from binary tarballs. At the same time we have to make sure that we can point at the ZK/Hadoop dependencies available elsewhere. Talking with Todd off-line here's what emerged: We could change around the hbase assembly so that hadoop/ZK (and its transitive deps) get pushed into a lib/[hadoop|zookeeper]-dependencies directory. Then in the wrapper script, if HADOOP_HOME isn't defined (or detectable at usual spots) then we add lib/[hadoop|zookeeper]-dependencies/* to the classpath? Otherwise we use the one set in the env? Thoughts? 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 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
[jira] [Commented] (HBASE-5286) bin/hbase's logic of adding Hadoop jar files to the classpath is fragile when presented with split packaged Hadoop 0.23 installation
[ https://issues.apache.org/jira/browse/HBASE-5286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13198037#comment-13198037 ] stack commented on HBASE-5286: -- Why do they have to be in a different dir? Can't we do some sed foo to purge them from list of lib jars? If HADOOP_HOME defined, can we not put the hadoop and zk jars at the front of the CLASSPATH or is it that we can't have hadoop jars in the CLASSPATH twice, both the new and old, because we'll find classes we shouldn't or IIRC, we can't have hadoop jars in front of hbase jars because then we'll do things like pick up its webapps instead of ours. Thanks 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 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
[jira] [Commented] (HBASE-5286) bin/hbase's logic of adding Hadoop jar files to the classpath is fragile when presented with split packaged Hadoop 0.23 installation
[ https://issues.apache.org/jira/browse/HBASE-5286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13198059#comment-13198059 ] Jonathan Hsieh commented on HBASE-5286: --- What is the replacement for HADOOP_HOME (if any) in hadoop 0.23? Are there now multiple? (HDFS_HOME, MAPRED_HOME or something like that?) Could we define one in terms of the other? I think the different dir suggestion is a generalization so we can point to the tarball included jars or the jars from a specific hadoop/zk install without a sed special case (its just a different argument if the HADOOP_HOME and ZOOKEEPER_HOME equivs are not defined/found). 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 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
[jira] [Commented] (HBASE-5286) bin/hbase's logic of adding Hadoop jar files to the classpath is fragile when presented with split packaged Hadoop 0.23 installation
[ https://issues.apache.org/jira/browse/HBASE-5286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13198102#comment-13198102 ] Roman Shaposhnik commented on HBASE-5286: - Frankly, in .23 there's no clarity yet. Potentially you can have as many as 4 different places to get jar files from HADOOP_COMMON_HOME, HADOOP_HDFS_HOME, YARN_HOME, HADOOP_MAPRED_HOME. And yes, sed-logic is possible, but I think a clean-separation is more desirable since otherwise we'd always be at the mercy of Hadoop/ZK naming, etc. 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 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
[jira] [Commented] (HBASE-5286) bin/hbase's logic of adding Hadoop jar files to the classpath is fragile when presented with split packaged Hadoop 0.23 installation
[ https://issues.apache.org/jira/browse/HBASE-5286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13198285#comment-13198285 ] Roman Shaposhnik commented on HBASE-5286: - @stack, sed-magic is certainly possible, but it will be quite difficult to support all the layouts of hadoop in a single hbase script and account for all the naming conventions How about if we use hadoop binary to execute hbase (when we can find it) and fall back on standalone execution when we can't. Sort of what Pig does over here (line #234): http://svn.apache.org/viewvc/pig/trunk/bin/pig?revision=1228547view=markup 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 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
[jira] [Commented] (HBASE-5286) bin/hbase's logic of adding Hadoop jar files to the classpath is fragile when presented with split packaged Hadoop 0.23 installation
[ https://issues.apache.org/jira/browse/HBASE-5286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13197316#comment-13197316 ] stack commented on HBASE-5286: -- Thanks for filing the issue 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 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
[jira] [Commented] (HBASE-5286) bin/hbase's logic of adding Hadoop jar files to the classpath is fragile when presented with split packaged Hadoop 0.23 installation
[ https://issues.apache.org/jira/browse/HBASE-5286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13197509#comment-13197509 ] Hudson commented on HBASE-5286: --- Integrated in HBase-TRUNK #2649 (See [https://builds.apache.org/job/HBase-TRUNK/2649/]) HBASE-5286 Added pointer to Lars Hofhansl's blog describing his attempt at adding a '...column prefix delete marker' stack : Files : * /hbase/trunk/src/docbkx/book.xml 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 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