Modifies elasticsearch.conf, determines OS bit-depth, optioanlly configures RUN_AS_USER.
e.g. Usage:
curl -ksL https://gist.github.com/rnix/8823390/raw/install-elasticsearch-servicewrapper.sh | bash -s [ES_HOME [RUN_AS_USER]]
#!/bin/bash | |
which unzip || sudo apt-get install unzip | |
ES_HOME=${1:-${ES_HOME:-${PWD}/elasticsearch}} | |
RUN_AS_USER=${2} | |
[ -d ${ES_HOME}/bin ] || { | |
echo "No directory: ${ES_HOME}/bin" >&2 | |
exit ${LINENO} | |
} | |
tmp=$(mktemp -d) | |
[ "${tmp}" ] && [ -d ${tmp} ] || { | |
echo "Can not create temporary directory." >&2 | |
exit ${LINENO} | |
} | |
trap "rm -rf ${tmp}" 0 1 2 3 | |
( | |
cd ${tmp} || exit ${LINENO} | |
curl -Lo elasticsearch-servicewrapper.zip https://github.com/elasticsearch/elasticsearch-servicewrapper/zipball/master | |
unzip elasticsearch-servicewrapper.zip | |
sudo rm -rfv ${ES_HOME}/bin/service | |
sudo mv -v elasticsearch-elasticsearch-servicewrapper-*/service ${ES_HOME}/bin/ | |
[ "${RUN_AS_USER}" ] && { | |
sudo chown -R ${RUN_AS_USER}:${RUN_AS_USER} ${ES_HOME}/bin/service | |
} | |
) || exit $? | |
bits=($(file /sbin/init)) | |
bits="${bits[2]/-bit/}" | |
( | |
cd ${ES_HOME}/bin/service || exit ${LINENO} | |
sudo perl -pi -e 's|(set.default.ES_HOME=).*|$1'"${ES_HOME}|" elasticsearch.conf | |
[ "${RUN_AS_USER}" ] && { | |
sudo perl -pi -e 's|^#?(RUN_AS_USER=).*|$1'"${RUN_AS_USER}|" elasticsearch | |
} | |
) | |
sudo ${ES_HOME}/bin/service/elasticsearch${bits} install |