It sucks, but it doesn’t have to.
1. Import the GPG KEY from the elasticsearch repo.
curl -s http://packages.elasticsearch.org/GPG-KEY-elasticsearch | sudo apt-key add –
2. Add the repo.
echo "deb http://packages.elasticsearch.org/elasticsearch/1.3/debian stable main" |sudo tee /etc/apt/sources.list.d/packages_elasticsearch_org_elasticsearch_1_3_debian.list
3. Update your apt cache.
sudo apt-get update
4. Install the elastic search package.
sudo apt-get install elasticsearch
If this is a server, then configure ES to run on system start and start ES now:
sudo update-rc.d elasticsearch defaults 95 10
sudo service elasticsearch
If this is a development environment, then the following may help.
Homebrew on MacOSX allows for ability to simply run “elasticsearch –config=myconfig.yml” and have different elasticsearch instances. I want this on my Linux dev system.
1. Copy elasticsearch shell script to a place in the path. $HOME/bin works just as good as /usr/local/bin here, if it is in your path. Then you can skip the sudo on these commands.
sudo cp /usr/share/elasticsearch/bin/elasticsearch /usr/local/bin/
2. Copy the in.sh file there too.
sudo cp /usr/share/elasticsearch/bin/elasticsearch.in.sh /usr/local/bin/
3. Set the ES_HOME in the in.sh file.
sudo sed -i ‘2 a ES_HOME=/usr/share/elasticsearch’ /usr/local/bin/elasticsearch.in.sh
4. DFSG don’t work if the app isn’t built correctly, so symlink the config back in place. Config won’t get used, but logging.yml will.
sudo ln -s /etc/elasticsearch/ /usr/share/elasticsearch/config
That shall do it. You can now test run a few different instances.
for $dir in a b ; do
cat > config.yml <<EOM
elasticsearch –config=config.yml &
Now you have a slightly less terrible elasticsearch on your Linux system, about on par with what you get from homebrew on a Mac.
update:fixed path in sources list creation.
Note: you can substitute 1.4 or 1.5 to get those versions of elasticsearch. Also note, elasticsearch isn’t dependant on a JVM, so you will need to apt-get install openjdk-7-jre-headless or zulu-8. See http://jrwren.wrenfam.com/blog/2015/03/18/zulu-jre-from-azul-systems-is-a-hidden-gem/