hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Arvid Warnecke <ar...@nostalgix.org>
Subject Re: Enable Snappy compression - not able to load the libs on startup
Date Tue, 10 Jul 2012 17:04:29 GMT
Hello Asaf,

On Tue, Jul 10, 2012 at 02:20:03PM +0300, Asaf Mesika wrote:
> On Jul 10, 2012, at 8:57 AM, Arvid Warnecke wrote:
> > On Mon, Jul 09, 2012 at 09:10:12PM +0300, Asaf Mesika wrote:
> >> On Jul 9, 2012, at 21:00 PM, Harsh J wrote:
> >>> The hbase-daemon.sh does not ssh back into the host, so preserves any
> >>> environment variables you haven't otherwise set in the hbase-env.sh
> >>> file. I guess that did the trick for you.
> >>> 
> >> Maybe you should look at the content of the jvm argument switch
> >> -Djava.library.path, (ps -ef | grep hbase , to see the command line).
> >> This will give you a hint on the directories the .so object is being
> >> looked for.
> >> 
> > It seems that that switch is only in the 'hbase' script itself. But
> > something like that must be the difference, because in my shell I only
> > set $HADOOP_HOME and $HBASE_HOME and $HADOOP_CLASSPATH via ~/.zshrc.
> It's not only there. Since inside hbase file, you see the following bash section which
pulls the value of java.library.path from the hadoop shell script:
> 
> #If avail, add Hadoop to the CLASSPATH and to the JAVA_LIBRARY_PATH
> HADOOP_IN_PATH=$(PATH="${HADOOP_HOME:-${HADOOP_PREFIX}}/bin:$PATH" which hadoop 2>/dev/null)
> if [ -f ${HADOOP_IN_PATH} ]; then
>   HADOOP_JAVA_LIBRARY_PATH=$(HADOOP_CLASSPATH="$CLASSPATH" ${HADOOP_IN_PATH} \
>                              org.apache.hadoop.hbase.util.GetJavaProperty java.library.path
2>/dev/null)
>   if [ -n "$HADOOP_JAVA_LIBRARY_PATH" ]; then
>     JAVA_LIBRARY_PATH=$(append_path "${JAVA_LIBRARY_PATH}" "$HADOOP_JAVA_LIBRARY_PATH")
>   fi
>   CLASSPATH=$(append_path "${CLASSPATH}" `${HADOOP_IN_PATH} classpath 2>/dev/null`)
> fi
> 
> if [ -d "${HBASE_HOME}/build/native" -o -d "${HBASE_HOME}/lib/native" ]; then
>   if [ -z $JAVA_PLATFORM ]; then
>     JAVA_PLATFORM=`CLASSPATH=${CLASSPATH} ${JAVA} org.apache.hadoop.util.PlatformName
| sed -e "s/ /_/g"`
>   fi
>   if [ -d "$HBASE_HOME/build/native" ]; then
>     JAVA_LIBRARY_PATH=$(append_path "$JAVA_LIBRARY_PATH" ${HBASE_HOME}/build/native/${JAVA_PLATFORM}/lib)
>   fi
> 
>   if [ -d "${HBASE_HOME}/lib/native" ]; then
>     JAVA_LIBRARY_PATH=$(append_path "$JAVA_LIBRARY_PATH" ${HBASE_HOME}/lib/native/${JAVA_PLATFORM})
>   fi
> fi
> 
Thank you. So the start-hbase.sh file should take care of such things,
too. Or it might be easier to write a wrapper script to call
hbase-daemon.sh for master and regionserver in a row.

Cheers,
Arvid

-- 
[ Arvid Warnecke ][ arvid (at) nostalgix (dot) org ]
[ IRC/OPN: "madhatter" ][ http://www.nostalgix.org ]
---[  ThreePiO was right: Let the Wookiee win.  ]---

Mime
View raw message