![](/img/trans.png)
[英]Why didn't my init.d start-stop-daemon script start the application on boot, but I can start the service manually?
[英]Vagrant / Debian / Puppet / Elasticsearch init.d start-stop-daemon won't start the service
我正在嘗試設置運行由Puppet在Vagrant上提供的ElasticSearch的Debian盒子的本地集群。
我正在使用官方的人偶模塊。 初始化腳本位於http://goo.gl/Z3q1NI 。
部署運行沒有任何問題,但是ES尚未啟動。
當我跑步時:
/etc/init.d/elasticsearch start
ES服務器無法啟動
我圍繞啟動命令修改了腳本,以嘗試查找原因:
echo $PATH
start-stop-daemon --start -b --user "$ES_USER" -c "$ES_USER" --pidfile "$PID_FILE" --exec $DAEMON -- $DAEMON_OPTS
echo start-stop-daemon --start -b --user "$ES_USER" -c "$ES_USER" --pidfile "$PID_FILE" --exec $DAEMON -- $DAEMON_OPTS
最終呼應:
root@es:~# /etc/init.d/elasticsearch start
[....] Starting Elasticsearch Server:
/bin:/usr/bin:/sbin:/usr/sbin
/sbin/start-stop-daemon --start -b --user elasticsearch -c elasticsearch --pidfile /var/run/elasticsearch.pid --exec /usr/share/elasticsearch/bin/elasticsearch -- -d -p /var/run/elasticsearch.pid -Des.default.config=/etc/elasticsearch/elasticsearch.yml -Des.default.path.home=/usr/share/elasticsearch -Des.default.path.logs=/var/log/elasticsearch -Des.default.path.data=/var/lib/elasticsearch -Des.default.path.work=/tmp/elasticsearch -Des.default.path.conf=/etc/elasticsearch
. ok
當我在shell中復制完整的命令行時,該服務將按預期啟動。
PATH看起來不錯,並且該命令顯然已在腳本中正確呈現。
我發現與此相關的類似問題,但是解決方案涉及PATH或腳本中使用的變量的初始問題,在這種情況下,它們看起來都不錯。
ES_HEAP_SIZE設置得太高,超出了我為該游民游樂盒分配的數量。 我通過刪除命令中的-b標志看到了這一點。
不確切知道為什么直接在外殼中運行(在兩種情況下都以root身份運行)時沒有中斷,它可能與/usr/share/elasticsearch/bin/elasticsearch
。
我有一個類似的問題(elasticsearch默默地沒有沒有任何日志就沒有啟動),並且不是對配置文件的錯誤權限,而是對包含它的目錄的錯誤權限。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.