在ubuntu 15.10中,elasticsearch无法启动服务 [英] elasticsearch can't start service in ubuntu 15.10
问题描述
我读了关于pid所有者的一些问题没有正确设置,尝试的步骤,但它仍然不工作。
如果我在/etc/init.d/elasticsearch中放置set -x,然后尝试
/etc/init.d/elasticsearch restart
我得到这个输出
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 =重新启动弹性搜索(通过systemctl)
+ service = elasticsearch.service
+ systemctl -p LoadState show elasticsearch.service
+ state = LoadState = loaded
+ [LoadState = loaded = LoadState = masked]
+ systemctl is-系统运行
+ OUT =运行
+ [restart = status]
+ log_daemon_msg重新启动弹性搜索(通过systemctl)elasticsearch.service
+ [-z重新启动弹性搜索(通过systemctl) ]
+ log_daemon_msg_pre重新启动弹性搜索(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重新启动弹性搜索(通过systemctl):elasticsearch.service
重新启动弹性搜索(通过systemctl):elasticsearch.service + log_daemon_msg_post重新启动弹性搜索(通过systemctl)elasticsearch.service
+:
+ / bin / systemctl restart elasticsearch.service
警告:elasticsea rch.service在磁盘上更改。运行'systemctl daemon-reload'来重新加载单元。
+ rc = 0
+ [restart = status]
+ log_end_msg 0
+ [-z 0]
+本地退出
+ 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
+:
+返回0
+返回0
+退出0
尝试整整一天,仍然无法确定这一点。
另外ps -A没有显示弹性搜索过程。
请帮助。
更多信息:
我试过
sudo -u弹性搜索/ 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] sid的密码:
sid @ sid-laptop:/etc/init.d$ {1.6.2}:pid失败...
- FileNotFoundException [/var/run/elasticsearch.pid(Permission denied)]
java.io.FileNotFoundException:/var/run/elasticsearch.pid(Permission denied)
在java.io. FileAutputStream.open0 .io.FileOutputStream。(FileOutputStream.java:162)
在org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.java:194)
在org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch。 java:32
Ubuntu不允许其他用户比管理员写你可以注意到弹性搜索是由弹性搜索创建的弹性搜索用户启动的:
sudo -u弹性搜索....
所以不是更改/ var /运行权限给所有的用户或尝试给予弹性搜索用户的管理权限我相信最好的解决方案是在/ var / run文件夹内创建一个新的文件夹
sudo mkdir / var / run / elasticsearch /
给弹性搜索用户权限
sudo chown elasticsearch:elasticsearch / var / run / elasticsearch
在需要更改elasticsearch init脚本以编写此新文件夹的pid文件后
sudo vim /etc/init.d/elasticsearch
将属性PID_FILE更新为
PID_FILE = / var / run / elasticsearch / $ NAME.pid
这对我有用我希望它适用于你;)
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
/
It gives:
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
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 ;)
这篇关于在ubuntu 15.10中,elasticsearch无法启动服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!