Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: CDH4.0.0
    • Fix Version/s: None
    • Component/s: HBase, Packaging
    • Labels:
    • Environment:
      Seen on Ubuntu Precise and CentOS 6

      Description

      There seems to be an issue with hbase classpath construction.

      If you examine the HBase classpath:

      #!/bin/bash
      
      function split_classpath () {
      
          # Don't expand globs
          set -f
          IFS=: read -r -a classpath <<< $@
      
          for path in $classpath; do
              echo $path
          done
      }  
      
      split_classpath "$(hbase classpath)"
      

      You may get several different results.

      CentOS 6 Full CM managed Install

      /usr/lib/hbase/conf
      /usr/java/jdk1.6.0_31/lib/tools.jar
      /usr/lib/hbase
      /usr/lib/hbase/hbase-0.92.1-cdh4.0.0-security.jar
      /usr/lib/hbase/hbase-0.92.1-cdh4.0.0-security-tests.jar
      /usr/lib/hbase/hbase.jar
      /usr/lib/hbase/lib/activation-1.1.jar
      /usr/lib/hbase/lib/aopalliance-1.0.jar
      ... snip...
      /usr/lib/hbase/lib/xmlenc-0.52.jar
      /usr/lib/hbase/lib/zookeeper.jar
      /etc/hadoop/conf/usr/lib/hadoop/*
      /usr/lib/hadoop/lib/*
      /usr/lib/zookeeper/*
      /usr/lib/zookeeper/lib/*
      /etc/hadoop/conf
      /usr/lib/hadoop/lib/*
      /usr/lib/hadoop/.//*
      /usr/lib/hadoop-hdfs/./
      /usr/lib/hadoop-hdfs/lib/*
      /usr/lib/hadoop-hdfs/.//*
      /usr/lib/hadoop-yarn/lib/*
      /usr/lib/hadoop-yarn/.//*
      /usr/lib/hadoop-mapreduce/lib/*
      /usr/lib/hadoop-mapreduce/.//*
      

      Precise Pseudo Distributed Install

      /usr/lib/hbase/bin/../conf
      /usr/lib/jvm/java-6-sun/lib/tools.jar
      /usr/lib/hbase/bin/..
      /usr/lib/hbase/bin/../hbase-0.92.1-cdh4.0.1-security.jar
      /usr/lib/hbase/bin/../hbase-0.92.1-cdh4.0.1-security-tests.jar
      /usr/lib/hbase/bin/../hbase.jar
      /usr/lib/hbase/bin/../lib/activation-1.1.jar
      /usr/lib/hbase/bin/../lib/aopalliance-1.0.jar
      ... snip ...
      /usr/lib/hbase/bin/../lib/xmlenc-0.52.jar
      /usr/lib/hbase/bin/../lib/zookeeper.jar
      /etc/hadoop/conf
      /*
      /lib/*
      /usr/lib/zookeeper/*
      /usr/lib/zookeeper/lib/*
      /etc/hadoop/conf
      /usr/lib/hadoop/lib/*
      /usr/lib/hadoop/.//*
      /usr/lib/hadoop-hdfs/./
      /usr/lib/hadoop-hdfs/lib/*
      /usr/lib/hadoop-hdfs/.//*
      /usr/lib/hadoop-yarn/.//*
      /usr/lib/hadoop-mapreduce/.//*
      

      In both cases there is a construction error. In the first /etc/hadoop/conf/usr/lib/hadoop/* likely should be two entries /etc/hadoop/conf and /usr/lib/hadoop/*. In the second /* and /lib/* are probably supposed to be $SOMETHING/* and $SOMETHING/lib/* but $SOMETHING is empty and $SOMETHING looks like its $HADOOP_HOME but its pulled in else where. In both cases the problems seem to happen before the hadoop classpath is pulled in (after the Zookeeper entries).

      And the output of hadoop classpath looks like this and is correct.

      /etc/hadoop/conf
      /usr/lib/hadoop/lib/*
      /usr/lib/hadoop/.//*
      /usr/lib/hadoop-hdfs/./
      /usr/lib/hadoop-hdfs/lib/*
      /usr/lib/hadoop-hdfs/.//*
      /usr/lib/hadoop-yarn/lib/*
      /usr/lib/hadoop-yarn/.//*
      /usr/lib/hadoop-0.20-mapreduce/./
      /usr/lib/hadoop-0.20-mapreduce/lib/*
      /usr/lib/hadoop-0.20-mapreduce/.//*
      

        Attachments

          Activity

            People

            • Assignee:
              matteo.bertozzi Matteo Bertozzi
              Reporter:
              chad Chad Metcalf
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: