elasticsearch,debian,vagrant,puppet,Linux,elasticsearch,Debian,Vagrant,Puppet" /> elasticsearch,debian,vagrant,puppet,Linux,elasticsearch,Debian,Vagrant,Puppet" />

Linux Vagrant/Debian/Puppet/Elasticsearch init.d启动停止守护程序赢得';不要启动服务

Linux Vagrant/Debian/Puppet/Elasticsearch init.d启动停止守护程序赢得';不要启动服务,linux,elasticsearch,debian,vagrant,puppet,Linux,elasticsearch,Debian,Vagrant,Puppet,我正在尝试建立一个Debian Box本地集群,运行Puppet on Vagrant提供的ElasticSearch 我正在使用官方的木偶模块。这里提供了init脚本 资源调配运行时没有任何问题,但ES未启动 当我跑步时: /etc/init.d/elasticsearch start ES服务器未启动 我围绕start命令修改了脚本,试图找出原因: echo $PATH start-stop-daemon --start -b --user "$ES_USER" -c "$

我正在尝试建立一个Debian Box本地集群,运行Puppet on Vagrant提供的ElasticSearch

我正在使用官方的木偶模块。这里提供了init脚本

资源调配运行时没有任何问题,但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中复制完整的命令行时,服务将按预期启动

路径看起来正常,命令显然在脚本中正确呈现


我在这方面发现了类似的问题,但解决方案涉及脚本中使用的路径或变量的初始问题,在本例中,这两个变量看起来都很正常。

ES\u HEAP\u大小设置得太高,超过了我分配给这个vagrant框的值。我通过删除命令中的-b标志看到了这一点


不确定它直接在shell中运行时(在两种情况下都以root身份运行)没有崩溃的确切原因,它可能与
/usr/share/elasticsearch/bin/elasticsearch
有关。我也遇到了类似的问题(elasticsearch没有在没有任何日志的情况下以静默方式启动),并且不在配置文件上的权限是错误的,但是在包含它的目录上。

您是否检查了流浪用户启动服务的权限?可能值得
su
ing给流浪用户,然后启动命令。