Github user evans-ye commented on a diff in the pull request: https://github.com/apache/bigtop/pull/278#discussion_r137537147 --- Diff: bigtop-packages/src/common/solr/install_solr.sh --- @@ -158,136 +135,17 @@ cp -ra ${BUILD_DIR}/example/ $PREFIX/$DOC_DIR/ install -d -m 0755 $PREFIX/$DEFAULT_DIR cp $DISTRO_DIR/solr.default $PREFIX/$DEFAULT_DIR/solr -install -d -m 0755 $PREFIX/${CONF_DIR}.dist -cp ${BUILD_DIR}/example/resources/log4j.properties $PREFIX/${CONF_DIR}.dist # Copy in the wrapper -cat > $PREFIX/$LIB_DIR/bin/solrd <<'EOF' -#!/bin/bash - -BIGTOP_DEFAULTS_DIR=${BIGTOP_DEFAULTS_DIR-/etc/default} -[ -n "${BIGTOP_DEFAULTS_DIR}" -a -r ${BIGTOP_DEFAULTS_DIR}/solr ] && . ${BIGTOP_DEFAULTS_DIR}/solr - -# Autodetect JAVA_HOME if not defined -. /usr/lib/bigtop-utils/bigtop-detect-javahome - -# resolve links - $0 may be a softlink -PRG="${BASH_SOURCE[0]}" - -while [ -h "${PRG}" ]; do - ls=`ls -ld "${PRG}"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "${PRG}"`/"$link" - fi -done - -BASEDIR=`dirname ${PRG}` -BASEDIR=`cd ${BASEDIR}/..;pwd` - -SOLR_PORT=${SOLR_PORT:-8983} -SOLR_ADMIN_PORT=${SOLR_ADMIN_PORT:-8984} -SOLR_LOG=${SOLR_LOG:-/var/log/solr} -SOLR_HOME=${SOLR_HOME:-/var/lib/solr} -SOLR_LOG4J_CONFIG=${SOLR_LOG4J_CONFIG:-/etc/solr/conf/log4j.properties} - -export CATALINA_TMPDIR=${SOLR_DATA:-/var/lib/solr/} -export CATALINA_PID=${SOLR_RUN:-/var/run/solr}/solr.pid -export CATALINA_OUT=${SOLR_LOG:-/var/log/solr}/solr.out - -export CATALINA_HOME=${CATALINA_HOME:-$BASEDIR/../bigtop-tomcat} -export CATALINA_BASE=${CATALINA_BASE:-$CATALINA_TMPDIR/tomcat-deployment} - - -die() { - echo "$@" >&2 - exit 1 -} - -# Preflight checks: -# 1. We are only supporting SolrCloud mode -if [ -z "$SOLR_ZK_ENSEMBLE" ] ; then - die "Error: SOLR_ZK_ENSEMBLE is not set in /etc/default/solr" -fi - -CATALINA_OPTS="${CATALINA_OPTS} -DzkHost=${SOLR_ZK_ENSEMBLE} -Dsolr.solrxml.location=zookeeper" - -if [ -n "$SOLR_HDFS_HOME" ] ; then - CATALINA_OPTS="${CATALINA_OPTS} -Dsolr.hdfs.home=${SOLR_HDFS_HOME}" -fi - -if [ -n "$SOLR_HDFS_CONFIG" ] ; then - CATALINA_OPTS="${CATALINA_OPTS} -Dsolr.hdfs.confdir=${SOLR_HDFS_CONFIG}" -fi - -if [ "$SOLR_KERBEROS_ENABLED" == "true" ] ; then - CATALINA_OPTS="${CATALINA_OPTS} -Dsolr.hdfs.security.kerberos.enabled=${SOLR_KERBEROS_ENABLED}" -fi - -if [ -n "$SOLR_KERBEROS_KEYTAB" ] ; then - CATALINA_OPTS="${CATALINA_OPTS} -Dsolr.hdfs.security.kerberos.keytabfile=${SOLR_KERBEROS_KEYTAB}" -fi - -if [ -n "$SOLR_KERBEROS_PRINCIPAL" ] ; then - CATALINA_OPTS="${CATALINA_OPTS} -Dsolr.hdfs.security.kerberos.principal=${SOLR_KERBEROS_PRINCIPAL}" -fi - -if [ -n "$SOLR_AUTHENTICATION_TYPE" ] ; then - CATALINA_OPTS="${CATALINA_OPTS} -Dsolr.authentication.type=${SOLR_AUTHENTICATION_TYPE}" -fi - -if [ -n "$SOLR_AUTHENTICATION_KERBEROS_KEYTAB" ] ; then - CATALINA_OPTS="${CATALINA_OPTS} -Dsolr.authentication.kerberos.keytab=${SOLR_AUTHENTICATION_KERBEROS_KEYTAB}" -fi - -if [ -n "$SOLR_AUTHENTICATION_KERBEROS_PRINCIPAL" ] ; then - CATALINA_OPTS="${CATALINA_OPTS} -Dsolr.authentication.kerberos.principal=${SOLR_AUTHENTICATION_KERBEROS_PRINCIPAL}" -fi - -if [ -n "$SOLR_AUTHENTICATION_KERBEROS_NAME_RULES" ] ; then - CATALINA_OPTS="${CATALINA_OPTS} -Dsolr.authentication.kerberos.name.rules=${SOLR_AUTHENTICATION_KERBEROS_NAME_RULES}" -fi - -if [ -n "$SOLR_AUTHENTICATION_SIMPLE_ALLOW_ANON" ] ; then - CATALINA_OPTS="${CATALINA_OPTS} -Dsolr.authentication.simple.anonymous.allowed=${SOLR_AUTHENTICATION_SIMPLE_ALLOW_ANON}" -fi - -if [ -n "$SOLR_AUTHENTICATION_JAAS_CONF" ] ; then - CATALINA_OPTS="${CATALINA_OPTS} -Djava.security.auth.login.config=${SOLR_AUTHENTICATION_JAAS_CONF}" -fi - -# FIXME: we need to set this because of the jetty-centric default solr.xml -CATALINA_OPTS="${CATALINA_OPTS} -Dhost=$HOSTNAME -Djetty.port=$SOLR_PORT" - -export CATALINA_OPTS="${CATALINA_OPTS} -Dsolr.host=$HOSTNAME - -Dsolr.port=$SOLR_PORT - -Dlog4j.configuration=file://$SOLR_LOG4J_CONFIG - -Dsolr.log=$SOLR_LOG - -Dsolr.admin.port=$SOLR_ADMIN_PORT - -Dsolr.solr.home=$SOLR_HOME" - -# catalina doesn't use CATALINA_OPTS for stop action so we need to -# set JAVA_OPTS to include the admin port -if [ $1 = "stop" ] ; then - export JAVA_OPTS="$CATALINA_OPTS" -fi - -if [ -x /usr/lib/bigtop-utils/bigtop-monitor-service ]; then -if ([ "$1" = "start" -o "$1" = "run" ]) && [ -n "$SOLRD_WATCHDOG_TIMEOUT" ] ; then - /usr/lib/bigtop-utils/bigtop-monitor-service $SOLRD_WATCHDOG_TIMEOUT $$ http://127.0.0.1:8983/solr -fi -fi - -exec ${CATALINA_HOME}/bin/catalina.sh "$@" -EOF +cp -a ${DISTRO_DIR}/solrd $PREFIX/$LIB_DIR/bin chmod 755 $PREFIX/$LIB_DIR/bin/solrd -# installing the only script that goes into /usr/bin -install -D -m 0755 $DISTRO_DIR/solrctl.sh $PREFIX/usr/bin/solrctl - # precreating /var layout install -d -m 0755 $VAR_DIR/log/solr install -d -m 0755 $VAR_DIR/run/solr install -d -m 0755 $VAR_DIR/lib/solr + +# setup solr-home +cp -a ${BUILD_DIR}/example/resources/log4j.properties $VAR_DIR/lib/solr +cp -a ${BUILD_DIR}/server/solr/solr.xml $VAR_DIR/lib/solr +cp -a ${BUILD_DIR}/server/solr/zoo.cfg $VAR_DIR/lib/solr --- End diff -- AFAIK, configs should go to /etc/solr/conf
---