Vagrant / Debian / Puppet / Elasticsearch init.d start-stop-daemon无法启动服务

时间:2014-05-21 21:06:16

标签: linux elasticsearch debian vagrant puppet

我正在尝试设置一个由Puppet在Vagrant上提供的运行ElasticSearch的Debian框的本地集群。

我正在使用官方的木偶模块。初始脚本可在此处http://goo.gl/Z3q1NI使用。

配置运行没有任何问题,但ES未启动。

当我跑步时:

/etc/init.d/elasticsearch start

ES服务器无法启动

我在start命令周围修改了脚本,试图找出原因:

    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的初始问题或脚本中使用的变量,在这种情况下看起来都不错。

2 个答案:

答案 0 :(得分:0)

ES_HEAP_SIZE设置得太高,超过了我分配这个流浪盒的程度。我通过删除命令中的-b标志看到了这一点。

在shell中直接运行(在两种情况下以root身份运行)时,不确定为什么它没有破坏,它可能与/usr/share/elasticsearch/bin/elasticsearch有关。

答案 1 :(得分:0)

我遇到了类似的问题(弹性搜索默默无法在没有任何日志的情况下启动),并且不是配置文件上的错误权限,而是包含它的目录。