How to Install Elasticsearch on Mac OS X

Data Tutorial

When installing applications in a Unix-based operating system like OS X occasionally issues may arise. The reasons can range from missing dependencies that the new application relies on to incompatible versions of existing libraries and packages.

In this tutorial, we’ll explore two methods to help you properly install Elasticsearch on OS X.

Using Homebrew

Most OS X users should be familiar with Homebrew (often simply called brew). Homebrew is a basic package manager utility for OS X that allows for simple installation of other applications while Homebrew takes care of all the messy stuff in the background. For this reason, it is highly recommended that you use Homebrew to help you install Elasticsearch (or many other packages you may desire down the road).

Installing Homebrew

If you don’t have Homebrew already installed, you can easily install it by following the instructions on the official homepage. As of the time of writing, this involves simply executing the below command in a terminal prompt, then following the on-screen instructions as necessary:

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Brewing the Elasticsearch Formula

With Homebrew installed, you can then execute a few brew commands to quickly install Elasticsearch and all the appropriate dependencies your system will need:

$ brew update
$ brew install elasticsearch

Manual Elasticsearch Installation

If you need to manually install Elasticsearch, things become significantly more complicated, but it’s still possible if Homebrew won’t work for you.

Install Java

If you haven’t done so recently, start by installing/updating Java on your system. If you plan to do development with Elasticsearch, get the JDK, otherwise the JRE will suffice. Both can be obtained from the official downloads page.

Get Elasticsearch

Download the latest release version of Elasticsearch from the official downloads page. Typically for OS X users you’ll want the tar.gz file.

Copy the file into your preferred installation directory, then extract it. If working in a terminal, you can extract a tar.gz file using the tar -xvf [filename] command:

$ tar -xvf elasticsearch-2.3.1.tar.gz

Modify Your .bash_profile Variables

Next, open the .bash_profile file in your home directory with your favorite text editor:

$ nano ~/.bash_profile

Within the profile you need to add/modify some export lines to indicate the appropriate environment variables in order for Elasticsearch to function. Your file may have some of these present, and the values may be different, so double-check the values as necessary:

export ES_HOME=~/apps/elasticsearch/elasticsearch-2.3.1
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_77/Contents/Home
export PATH=$ES_HOME/bin:$JAVA_HOME/bin:$PATH
  • The ES_HOME variable indicates the directory you installed (extracted) the elasticsearch.tar.gz file into.
  • JAVA_HOME is the home installation directory of your Java package (either JDK or JRE). Verify your own path and modify this variable if necessary.
  • PATH is, of course, the standard PATH variable that tells OS X where to find many executables. In this case, the export line is effectively adding onto the existing PATH variable so the system can find where Elasticsearch and Java are located.

Note: Be sure to close your terminal and open a new terminal window so that the PATH variable will be properly updated.

Use Elasticsearch

Finally, you’re able to run Elasticsearch from the terminal window by simply executing the elasticsearch command:

$ elasticsearch