我正在尝试设置一个由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的初始问题或脚本中使用的变量,在这种情况下看起来都不错。
答案 0 :(得分:0)
ES_HEAP_SIZE设置得太高,超过了我分配这个流浪盒的程度。我通过删除命令中的-b标志看到了这一点。
在shell中直接运行(在两种情况下以root身份运行)时,不确定为什么它没有破坏,它可能与/usr/share/elasticsearch/bin/elasticsearch
有关。
答案 1 :(得分:0)
我遇到了类似的问题(弹性搜索默默无法在没有任何日志的情况下启动),并且不是配置文件上的错误权限,而是包含它的目录。