I am trying to setup elasticsearch on my system.I installed it but it seems the process is not starting. I cant get response via curl. I read about some problem regarding pid owner not correctly setup, tried the steps but it still isnt working. If i put "set -x" in /etc/init.d/elasticsearch and try
/etc/init.d/elasticsearch restart
I get this output
root@sid-laptop:/etc/init.d# /etc/init.d/elasticsearch restart + id -u + [ 0 -ne 0 ] + . /lib/lsb/init-functions + run-parts --lsbsysinit --list /lib/lsb/init-functions.d + [ -r /lib/lsb/init-functions.d/01-upstart-lsb ] + . /lib/lsb/init-functions.d/01-upstart-lsb + unset UPSTART_SESSION + _RC_SCRIPT=/etc/init.d/elasticsearch + [ -r /etc/init//etc/init.d/elasticsearch.conf ] + _UPSTART_JOB=elasticsearch + [ -r /etc/init/elasticsearch.conf ] + [ -r /lib/lsb/init-functions.d/20-left-info-blocks ] + . /lib/lsb/init-functions.d/20-left-info-blocks + [ -r /lib/lsb/init-functions.d/40-systemd ] + . /lib/lsb/init-functions.d/40-systemd + _use_systemctl=0 + [ -d /run/systemd/system ] + [ -n ] + [ 6714 -ne 1 ] + [ -z ] + [ -z ] + readlink -f /etc/init.d/elasticsearch + _use_systemctl=1 + prog=elasticsearch + service=elasticsearch.service + systemctl -p CanReload show elasticsearch.service + [ CanReload=no = CanReload=no ] + [ restart = reload ] + [ 1 = 1 ] + set +e + set +u + [ xrestart = xstart -o xrestart = xstop -o xrestart = xrestart -o xrestart = xreload -o xrestart = xforce-reload -o xrestart = xstatus ] + systemctl_redirect /etc/init.d/elasticsearch restart + local s + local rc + local prog=elasticsearch + local command=restart + s=Restarting elasticsearch (via systemctl) + service=elasticsearch.service + systemctl -p LoadState show elasticsearch.service + state=LoadState=loaded + [ LoadState=loaded = LoadState=masked ] + systemctl is-system-running + OUT=running + [ restart = status ] + log_daemon_msg Restarting elasticsearch (via systemctl) elasticsearch.service + [ -z Restarting elasticsearch (via systemctl) ] + log_daemon_msg_pre Restarting elasticsearch (via systemctl) elasticsearch.service + log_use_fancy_output + TPUT=/usr/bin/tput + EXPR=/usr/bin/expr + [ -t 1 ] + [ xxterm-256color != x ] + [ xxterm-256color != xdumb ] + [ -x /usr/bin/tput ] + [ -x /usr/bin/expr ] + /usr/bin/tput hpa 60 + /usr/bin/tput setaf 1 + [ -z ] + FANCYTTY=1 + true + /bin/echo -n [....] [....] + [ -z elasticsearch.service ] + echo -n Restarting elasticsearch (via systemctl): elasticsearch.service Restarting elasticsearch (via systemctl): elasticsearch.service+ log_daemon_msg_post Restarting elasticsearch (via systemctl) elasticsearch.service + : + /bin/systemctl restart elasticsearch.service Warning: elasticsearch.service changed on disk. Run 'systemctl daemon-reload' to reload units. + rc=0 + [ restart = status ] + log_end_msg 0 + [ -z 0 ] + local retval + retval=0 + log_end_msg_pre 0 + log_use_fancy_output + TPUT=/usr/bin/tput + EXPR=/usr/bin/expr + [ -t 1 ] + [ xxterm-256color != x ] + [ xxterm-256color != xdumb ] + [ -x /usr/bin/tput ] + [ -x /usr/bin/expr ] + /usr/bin/tput hpa 60 + /usr/bin/tput setaf 1 + [ -z 1 ] + true + true + /usr/bin/tput setaf 1 + RED= + /usr/bin/tput setaf 2 + GREEN= + /usr/bin/tput setaf 3 + YELLOW= + /usr/bin/tput op + NORMAL= + /usr/bin/tput civis + /usr/bin/tput sc + /usr/bin/tput hpa 0 + [ 0 -eq 0 ] + /bin/echo -ne [ ok [ ok + /usr/bin/tput rc + /usr/bin/tput cnorm + log_use_fancy_output + TPUT=/usr/bin/tput + EXPR=/usr/bin/expr + [ -t 1 ] + [ xxterm-256color != x ] + [ xxterm-256color != xdumb ] + [ -x /usr/bin/tput ] + [ -x /usr/bin/expr ] + /usr/bin/tput hpa 60 + /usr/bin/tput setaf 1 + [ -z 1 ] + true + true + /usr/bin/tput setaf 1 + RED= + /usr/bin/tput setaf 3 + YELLOW= + /usr/bin/tput op + NORMAL= + [ 0 -eq 0 ] + echo . . + log_end_msg_post 0 + : + return 0 + return 0 + exit 0
Been trying whole day and still cant figure this out.
Also "ps -A" shows no elasticsearch process.
Please help.
More info:
I tried
sudo -u elasticsearch /usr/share/elasticsearch/bin/elasticsearch -d -p /var/run/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
/sid@sid-laptop:/etc/init.d$ sudo -u elasticsearch /usr/share/elasticsearch/bin/elasticsearch -d -p /var/run/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 [sudo] password for sid: sid@sid-laptop:/etc/init.d$ {1.6.2}: pid Failed ... - FileNotFoundException[/var/run/elasticsearch.pid (Permission denied)] java.io.FileNotFoundException: /var/run/elasticsearch.pid (Permission denied) at java.io.FileOutputStream.open0(Native Method) at java.io.FileOutputStream.open(FileOutputStream.java:270) at java.io.FileOutputStream.(FileOutputStream.java:213) at java.io.FileOutputStream.(FileOutputStream.java:162) at org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.java:194) at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:32
The Elasticsearch components are not available in Ubuntu’s default package repositories. They can, however, be installed with APT after adding Elastic’s package source list. All of the packages are signed with the Elasticsearch signing key in order to protect your system from package spoofing.
# service elasticsearch start Job for elasticsearch.service failed because the control process exited with error code.
These are the minimum settings you can start with in order to use Elasticsearch. Now you can start Elasticsearch for the first time. Start the Elasticsearch service with systemctl.
They can, however, be installed with APT after adding Elastic’s package source list. All of the packages are signed with the Elasticsearch signing key in order to protect your system from package spoofing. Packages which have been authenticated using the key will be considered trusted by your package manager.
Ubuntu don't allow other users than admins to write to /var/run and this happen for good reasons.
Has you can notice elasticsearch is launched by a "elasticsearch" user that elasticsearch creates on install:
sudo -u elasticsearch....
So instead of change /var/run permissions to all users or try to give admin permissions to elasticsearch user i believe the best solution is created a new folder inside /var/run folder
sudo mkdir /var/run/elasticsearch/
and give elasticsearch user permissions to it
sudo chown elasticsearch:elasticsearch /var/run/elasticsearch
After you need to change elasticsearch init script to write the pid file for this new folder
sudo vim /etc/init.d/elasticsearch
updating the property PID_FILE to
PID_FILE=/var/run/elasticsearch/$NAME.pid
This has worked for me. I hope it works for you to ;)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With