Skip to content

Instantly share code, notes, and snippets.

@motin
Created May 30, 2011 14:25
Show Gist options
  • Save motin/998969 to your computer and use it in GitHub Desktop.
Save motin/998969 to your computer and use it in GitHub Desktop.
# ElasticSearch and it's service wrapper
sudo su $USER
cd ~/db/
wget --no-check-certificate https://github.com/downloads/elasticsearch/elasticsearch/elasticsearch-0.16.1.tar.gz
tar -xvf elasticsearch-0.16.1.tar.gz
wget --no-check-certificate http://github.com/elasticsearch/elasticsearch-servicewrapper/tarball/master
tar -xvf master
rm master
mv *servicewrapper*/service elasticsearch-0.*/bin/
rm -rf *servicewrapper*
# ElasticSearch service configuration
export USER=elasticsearch
export ES_HTTP_PORT="9200"
export ES_TRANSPORT_PORTS="9300-9399"
# Params for ROUTINE
# One for this group
export HTTP_ENABLED="true"
export NODE_DATA="false"
export NODE_ID="_http"
export HTTP_ENABLED="true"
export NODE_DATA="true"
export NODE_ID="_http"
# ... and one for each of these ids
export HTTP_ENABLED="false"
export NODE_DATA="true"
export NODE_ID="_data_1"
export NODE_ID="_data_2"
export NODE_ID="_data_3"
# ROUTINE
export ES_HOME="/home/$USER/db/elasticsearch-0.16.1$NODE_ID"
export ES_HOME_ESCAPED=${ES_HOME//\//\\\/}
sudo cp -r /home/$USER/db/elasticsearch-0.16.1 $ES_HOME
cd $ES_HOME
sudo sed -i "s/APP_NAME=\"elasticsearch\"/APP_NAME=\"elasticsearch_$USER$NODE_ID\"/" ./bin/service/elasticsearch
sudo sed -i "s/#RUN_AS_USER=/RUN_AS_USER=$USER/" ./bin/service/elasticsearch
sudo sed -i "s/LOCKDIR=\"\/var\/lock\/subsys\"/LOCKDIR=\"$ES_HOME_ESCAPED\/lock\"/" ./bin/service/elasticsearch
sudo mkdir $ES_HOME/lock
sudo chown -R $USER:$USER $ES_HOME
# Config
sudo cp /home/$USER/res/conf/elasticsearch.yml ./config/elasticsearch.yml
sudo sed -i "s/_USER_/$USER/" ./config/elasticsearch.yml
sudo sed -i "s/_ES_HTTP_PORT_/$ES_HTTP_PORT/" ./config/elasticsearch.yml
sudo sed -i "s/_ES_TRANSPORT_PORTS_/$ES_TRANSPORT_PORTS/" ./config/elasticsearch.yml
sudo sed -i "s/_HTTP_ENABLED_/$HTTP_ENABLED/" ./config/elasticsearch.yml
sudo sed -i "s/_NODE_DATA_/$NODE_DATA/" ./config/elasticsearch.yml
# Start on boot
sudo ./bin/service/elasticsearch install
sudo /etc/init.d/elasticsearch_$USER$NODE_ID start
cd
# Stop and start services
export NODE_ID="_http"
sudo /etc/init.d/elasticsearch_$USER$NODE_ID stop
export NODE_ID="_data_1"
sudo /etc/init.d/elasticsearch_$USER$NODE_ID stop
export NODE_ID="_data_2"
sudo /etc/init.d/elasticsearch_$USER$NODE_ID stop
export NODE_ID="_data_3"
sudo /etc/init.d/elasticsearch_$USER$NODE_ID stop
export NODE_ID="_http"
sudo /etc/init.d/elasticsearch_$USER$NODE_ID start
export NODE_ID="_data_1"
sudo /etc/init.d/elasticsearch_$USER$NODE_ID start
export NODE_ID="_data_2"
sudo /etc/init.d/elasticsearch_$USER$NODE_ID start
export NODE_ID="_data_3"
sudo /etc/init.d/elasticsearch_$USER$NODE_ID start
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment