Helper files for https://gist.github.com/2050769
This repository contains files tailored for bootstrapping, installing and configuring Elasticsearch with Chef Solo on the Ubuntu operating system, as a supplementary material for the Deploying Elasticsearch with Chef Solo tutorial.
After you have downloaded the files from the gist, copy and edit the node configuration:
cp node_ubuntu.json node.json
$EDITOR node.json
Set up the SSH connection according to your environment, eg.:
HOST=<REPLACE WITH YOUR SERVER IP>
KEY=<REPLACE WITH PATH TO YOUR SSH KEY>
USER=ubuntu
PORT=22
SSH_OPTIONS="-o User=$USER -o IdentityFile=$KEY -o Port=$PORT -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
And test that it's working:
ssh $SSH_OPTIONS $HOST "date"
Now, copy the files to the machine and execute the bootstrap script:
scp $SSH_OPTIONS bootstrap_ubuntu.sh node.json solo.rb $HOST:/tmp
time ssh -t $SSH_OPTIONS $HOST "sudo bash /tmp/bootstrap_ubuntu.sh"
Execute the Chef Solo run:
time ssh -t $SSH_OPTIONS $HOST "sudo su - root -c 'chef-solo --node-name elasticsearch-test-ubuntu -j /tmp/node.json'"
Check that the installation and configuration succeeded (you may need to wait couple of minutes until Monit starts):
ssh -t $SSH_OPTIONS $HOST "sudo service elasticsearch status -v"
ssh -t $SSH_OPTIONS $HOST "sudo monit reload && sudo monit status -v"
curl http://USERNAME:PASSWORD@$HOST:8080
Now, you can eg. test that Monit is, in fact, working. Kill the Elasticsearch process:
ssh -t $SSH_OPTIONS $HOST "cat '/usr/local/var/run/elasticsearch/elasticsearch_test_ubuntu.pid' | xargs -0 sudo kill -9"
Wait couple of minutes and check the status:
ssh -t $SSH_OPTIONS $HOST "sudo monit reload && sudo monit status -v"
See the original gist for more information.
http://www.elasticsearch.org/tutorials/2012/03/21/deploying-elasticsearch-with-chef-solo.html