Tuesday 7 June 2016

Instalasi Elastic Search



Sistem Operasi 


Penulis melakukan instalasi Elastic Search di Ubuntu 16.04 LT menggunakan systemd.

Instalasi Elastic Search 


Untuk instalasi penulis memilih melakukan instalasi melalui APT. Bisa dibaca disini :

https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-repositories.html#_apt

Hanya kendalanya ketika proses instalasi selesai dan elastic search dicoba dijalankan, gagal.

sudo /etc/init.d/elasticsearch status
● elasticsearch.service - LSB: Starts elasticsearch
   Loaded: loaded (/etc/init.d/elasticsearch; bad; vendor preset: enabled)
   Active: active (exited) since Sel 2016-06-07 14:55:15 WIB; 4s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 13459 ExecStop=/etc/init.d/elasticsearch stop (code=exited, status=0/SUCCESS)
  Process: 13528 ExecStart=/etc/init.d/elasticsearch start (code=exited, status=0/SUCCESS)
Jun 07 14:55:15 openthinklabs002 systemd[1]: Starting LSB: Starts elasticsearch...
Jun 07 14:55:15 openthinklabs002 elasticsearch[13528]: [warning] /etc/init.d/elasticsearch: No java runtime was found
Jun 07 14:55:15 openthinklabs002 systemd[1]: Started LSB: Starts elasticsearch.

Jika hal ini terjadi, install paket java-wrappers

sudo apt-get install java-wrappers

Kemudian, jika sesudah menjalankan perintah : 

sudo service elasticsearch start 

elasticsearch masih tidak dapat start, meskipun jika anda melihat output dari perintah :

sudo service elasticsearch status

elasticsearch mengindikasikan telah berjalan. Hal ini kemungkinan besar adalah karena permasalah permission. 

Untuk debugging, buatlah file run.sh dan buat executable yang berisi : 

#!/bin/bash
start-stop-daemon --start --user elasticsearch -c elasticsearch --pidfile /var/run/elasticsearch/elasticsearch.pid --exec /usr/share/elasticsearch/bin/elasticsearch -- -d -p /var/run/elasticsearch/elasticsearch.pid --default.config=/etc/elasticsearch/elasticsearch.yml --default.path.home=/usr/share/elasticsearch --default.path.logs=/var/log/elasticsearch --default.path.data=/var/lib/elasticsearch --default.path.work=/tmp/elasticsearch --default.path.conf=/etc/elasticsearch

Dengan menjalankan perintah ini, penulis menemukan kesalahannya terletak pada file permisssion. 

Berikut ini adalah hal-hal yang penulis lakukan agar elasticsearch dapat berjalan di ubuntu 16.04. 

Buat folder /run/elasticsearch dan ubah ownershipnya: 

mkdir /run/elasticsearch
chown elasticsearch.elasticsearch /run/elasticsearch/

edit file /etc/init.d/elasticsearch 

Ubah baru 97 dari : 

PID_FILE=/var/run/$NAME.pid

menjadi : 

PID_FILE=/var/run/elasticsearch/$NAME.pid

Coba jalankan elasticsearch : 

sudo service elasticsearch start

Untuk memastikan elasticsearch bejalan coba jalankan : 

curl http://localhost:9200/

Muda-mudahan ada yang terbantu dengan tulisan singkat ini. 

Referensi

  1. instance won't start on Ubuntu 14.04 #182, https://github.com/elastic/puppet-elasticsearch/issues/182