Hey John, Moving discussion to [email protected] (bcc'd [email protected]), since this is https://ccp.cloudera.com/display/CDHDOC/Mountable+HDFS and CDH specific.
Thanks for hunting this down. Could you open up a DISTRO ticket for this at https://issues.cloudera.org//browse/DISTRO? On 30-Nov-2011, at 12:41 AM, John Bond wrote: > Still getting this using > > Hadoop 0.20.2-cdh3u2 > > > > On 5 September 2011 16:08, John Bond <[email protected]> wrote: >> I have recently rebuilt a server with centos 6.0 and it seems that >> something caused hadoop-fuse to get confused and it is no longer able >> to find libjvm.so. The error i get is >> >> find: `/usr/lib/jvm/java-1.6.0-sun-1.6.0.14/jre//jre/lib': No such >> file or directory >> /usr/lib/hadoop-0.20/bin/fuse_dfs: error while loading shared >> libraries: libjvm.so: cannot open shared object file: No such file or >> directory >> >> A dirty look around suggests /usr/lib/hadoop-0.20/bin/hadoop-config.sh >> is setting JAVA_HOME to `/usr/lib/jvm/java-1.6.0-sun-1.6.0.14/jre/` >> >> /usr/bin/hadoop-fuse-dfs has the following which adds an extra /jre/ >> to the path >> >> for f in `find ${JAVA_HOME}/jre/lib -name client -prune -o -name >> libjvm.so -exec dirname {} \;`; do >> >> is there a need to specify the subfolder. I think it would make >> things simpler to just change the above to >> >> for f in `find ${JAVA_HOME} -name client -prune -o -name libjvm.so >> -exec dirname {} \;`; do >> >> >> The other option is to change >> /usr/lib/hadoop-0.20/bin/hadoop-config.sh so it sets the path without >> jre either remove ` /usr/lib/jvm/java-1.6.0-sun-1.6.0.*/jre/ \`. Or >> reorder the search list so /usr/lib/jvm/java-1.6.0-sun-1.6.0.*/ \ >> is preferred >> >> regards >> John >> >> hadoop-fuse-dfs >> @@ -14,7 +14,7 @@ >> >> if [ "${LD_LIBRARY_PATH}" = "" ]; then >> export LD_LIBRARY_PATH=/usr/lib >> - for f in `find ${JAVA_HOME} -name client -prune -o -name libjvm.so >> -exec dirname {} \;`; do >> + for f in `find ${JAVA_HOME}/jre/lib -name client -prune -o -name >> libjvm.so -exec dirname {} \;`; do >> export LD_LIBRARY_PATH=$f:${LD_LIBRARY_PATH} >> done >> fi >> >> hadoop-config.sh >> @@ -68,8 +68,8 @@ >> if [ -z "$JAVA_HOME" ]; then >> for candidate in \ >> /usr/lib/jvm/java-6-sun \ >> - /usr/lib/jvm/java-1.6.0-sun-1.6.0.* \ >> /usr/lib/jvm/java-1.6.0-sun-1.6.0.*/jre/ \ >> + /usr/lib/jvm/java-1.6.0-sun-1.6.0.* \ >> /usr/lib/j2sdk1.6-sun \ >> /usr/java/jdk1.6* \ >> /usr/java/jre1.6* \
