root/other-projects/hathitrust/wcsa/extracted-features-solr/trunk/solr-ingest/_RUN.bash @ 31028

Revision 31028, 2.1 KB (checked in by davidb, 3 years ago)

Support for randonly choosing Solr endpoints added in

  • Property svn:executable set to *
Line 
1#!/bin/bash
2
3# To work, the follow bash variables need to have been set:
4#
5#  json_filelist input_dir output_dir
6#
7# Typically done through running a wrapper script, such as:
8#
9#  RUN-PD-CLUSTER.bash
10
11if [ "x$json_filelist" = "x" ] ; then
12    echo "_RUN.bash: Failed to set 'json_filelist'" 1>&2
13    exit
14fi
15
16if [ "x$input_dir" = "x" ] ; then
17    echo "_RUN.bash: Failed to set 'input_dir'" 1>&2
18    exit
19fi
20
21#if [ "x$output_dir" = "x" ] ; then
22#    echo "_RUN.bash: Failed to set 'output_dir'" 1>&2
23#    exit
24#fi
25
26run_jps=0
27run_jps_daemons=""
28run_jps_daemons_suffix="daemon"
29using_hdfs=0
30
31if [ "x${input_dir##hdfs://*}" = "x" ] || [ "x${output_dir##hdfs://*}" = "x" ] ; then
32    # Evidence of running command over HDFS
33    run_jps=1
34    run_jps_daemons="Spark"
35    using_hdfs=1
36fi
37
38if [ "x${master_opt##--master spark://*}" = "x" ] ; then
39    # Evidence of running command submitted to Spark cluster
40    run_jps=1
41    if [ "x$run_jps_daemons" != "x" ] ; then
42        run_jps_daemons="$run_jps_daemons and Hadoop"
43    run_jps_daemons_suffix="daemons"
44    else
45        run_jps_daemons="Hadoop"
46    fi
47fi
48
49if [ "$run_jps" = "1" ] ; then
50  echo
51  echo "****"
52  echo "* Checking for $run_jps_daemons $run_jps_daemons_suffix, by running 'jps':"
53  echo "****"
54  jps | egrep -v " Jps$" |  sed 's/^/* /g'
55  echo "****"
56  echo "* Done"
57  echo "****"
58  echo
59
60  sleep 1
61fi
62
63if [ "$using_hdfs" = "1" ] ; then
64  hadoop fs -test -d "$output_dir"
65
66  if [ $? != 0 ] ; then
67      echo "Creating directory:"
68      echo "  $output_dir"
69  fi
70fi
71   
72self_contained_jar=target/htrc-ef-ingest-0.9-jar-with-dependencies.jar
73cmd="spark-submit --class org.hathitrust.extractedfeatures.ProcessForSolrIngest $master_opt $self_contained_jar"
74
75if [ "x$solr_url" != "x" ] ; then
76    cmd="$cmd --solr-url $solr_url"
77fi
78
79if [ "x$output_dir" != "x" ] ; then
80    cmd="$cmd --output-dir $output_dir"
81fi
82
83
84cmd="$cmd --properties ef-solr.properties $input_dir $json_filelist $*"
85
86echo "****"
87echo "* Lauching:"
88echo "*   $cmd"
89echo "****"
90
91if [ "$run_jps" = "1" ] ; then
92  echo "* Monitor progress on Spark cluster through:"
93  echo "*   http://10.10.0.52:8080/"
94  echo "****"
95fi
96echo
97sleep 2
98
99$cmd
100
Note: See TracBrowser for help on using the browser.