| #!/usr/bin/env bash |
| |
| ###################################################################### |
| # |
| # Running this script will set two environment variables: |
| # HADOOP_CLASSPATH |
| # HADOOP_LIBJAR: pass this to the -libjar MapReduceIndexBuilder option |
| # |
| ###################################################################### |
| |
| # return absolute path |
| function absPath { |
| echo $(cd $(dirname "$1"); pwd)/$(basename "$1") |
| } |
| |
| |
| # Find location of this script |
| |
| sdir="`cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd`" |
| |
| solr_distrib="$sdir/../../.." |
| |
| echo `absPath $solr_distrib` |
| |
| # extract war if necessary |
| |
| if [ ! -d "$solr_distrib/example/solr-webapp/webapp" ]; then |
| unzip -o $solr_distrib/example/webapps/solr.war -d $solr_distrib/example/solr-webapp/webapp |
| fi |
| |
| # Setup env variables for MapReduceIndexerTool |
| |
| # Setup HADOOP_CLASSPATH |
| |
| dir1=`absPath "$solr_distrib/dist"` |
| dir2=`absPath "$solr_distrib/dist/solrj-lib"` |
| dir3=`absPath "$solr_distrib/contrib/map-reduce/lib"` |
| dir4=`absPath "$solr_distrib/contrib/morphlines-core/lib"` |
| dir5=`absPath "$solr_distrib/contrib/morphlines-cell/lib"` |
| dir6=`absPath "$solr_distrib/contrib/extraction/lib"` |
| dir7=`absPath "$solr_distrib/example/solr-webapp/webapp/WEB-INF/lib"` |
| |
| # Setup -libjar |
| |
| lib1=`ls -m $dir1/*.jar | tr -d ' \n'` |
| lib2=`ls -m $dir2/*.jar | tr -d ' \n' | sed 's/\,[^\,]*\(log4j\|slf4j\)[^\,]*//g'` |
| lib3=`ls -m $dir3/*.jar | tr -d ' \n'` |
| lib4=`ls -m $dir4/*.jar | tr -d ' \n'` |
| lib5=`ls -m $dir5/*.jar | tr -d ' \n'` |
| lib6=`ls -m $dir6/*.jar | tr -d ' \n'` |
| lib7=`ls -m $dir7/*.jar | tr -d ' \n'` |
| |
| export HADOOP_CLASSPATH="$dir1/*:$dir2/*:$dir3/*:$dir4/*:$dir5/*:$dir6/*:$dir7/*" |
| export HADOOP_LIBJAR="$lib1,$lib2,$lib3,$lib4,$lib5,$lib6,$lib7" |
| |
| #echo $HADOOP_CLASSPATH |
| #echo $HADOOP_LIBJAR |
| |