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