NOTE: You are looking at documentation for an older release. For the latest information, see the current release documentation.
Setting up GCE Discovery
editSetting up GCE Discovery
editPrerequisites
editBefore starting, you need:
-
Your project ID, e.g.
es-cloud
. Get it from Google API Console. - To install Google Cloud SDK
If you did not set it yet, you can define your default project you will work on:
gcloud config set project es-cloud
Login to Google Cloud
editIf you haven’t already, login to Google Cloud
gcloud auth login
This will open your browser. You will be asked to sign-in to a Google account and authorize access to the Google Cloud SDK.
Creating your first instance
editgcloud compute instances create myesnode1 \ --zone <your-zone> \ --scopes compute-rw
When done, a report like this one should appears:
Created [https://www.googleapis.com/compute/v1/projects/es-cloud-1070/zones/us-central1-f/instances/myesnode1]. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS myesnode1 us-central1-f n1-standard-1 10.240.133.54 104.197.94.25 RUNNING
You can now connect to your instance:
# Connect using google cloud SDK gcloud compute ssh myesnode1 --zone europe-west1-a # Or using SSH with external IP address ssh -i ~/.ssh/google_compute_engine 192.158.29.199
Service Account Permissions
It’s important when creating an instance that the correct permissions are set. At a minimum, you must ensure you have:
scopes=compute-rw
Failing to set this will result in unauthorized messages when starting Elasticsearch. See Machine Permissions.
Once connected, install Elasticsearch:
sudo apt-get update # Download Elasticsearch wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-2.0.0.deb # Prepare Java installation (Oracle) sudo echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | sudo tee /etc/apt/sources.list.d/webupd8team-java.list sudo echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | sudo tee -a /etc/apt/sources.list.d/webupd8team-java.list sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886 sudo apt-get update sudo apt-get install oracle-java8-installer # Prepare Java installation (or OpenJDK) # sudo apt-get install java8-runtime-headless # Prepare Elasticsearch installation sudo dpkg -i elasticsearch-2.0.0.deb
Install Elasticsearch discovery gce plugin
editInstall the plugin:
# Use Plugin Manager to install it sudo bin/elasticsearch-plugin install discovery-gce
Open the elasticsearch.yml
file:
sudo vi /etc/elasticsearch/elasticsearch.yml
And add the following lines:
cloud: gce: project_id: es-cloud zone: europe-west1-a discovery: zen.hosts_provider: gce
Start Elasticsearch:
sudo /etc/init.d/elasticsearch start
If anything goes wrong, you should check logs:
tail -f /var/log/elasticsearch/elasticsearch.log
If needed, you can change log level to trace
by opening log4j2.properties
:
sudo vi /etc/elasticsearch/log4j2.properties
and adding the following line:
# discovery logger.discovery_gce.name = discovery.gce logger.discovery_gce.level = trace