簡體   English   中英

無法將Elasticsearch作為服務啟動

[英]Can't start Elasticsearch as a service

我正在嘗試在Ubuntu(12.04)計算機上將Elasticsearch(0.90.5)安裝為服務。

我試過了

wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.5.deb
sudo dpkg -i elasticsearch-0.90.5.deb

它給出了響應

Selecting previously unselected package elasticsearch.
(Reading database ... 51009 files and directories currently installed.)
Unpacking elasticsearch (from elasticsearch-0.90.5.deb) ...
Setting up elasticsearch (0.90.5) ...
Adding system user `elasticsearch' (UID 107) ...
Adding new user `elasticsearch' (UID 107) with group `elasticsearch' ...
Not creating home directory `/usr/share/elasticsearch'.
* Starting ElasticSearch Server                                               [ OK ] 
Processing triggers for ureadahead ...

然后開始服務

 sudo service elasticsearch start
* Starting ElasticSearch Server                                               [ OK ]

之后,當我檢查狀態時,它顯示

sudo service elasticsearch status
* elasticsearch is not running

我檢查了我的日志,但是它是空的。

9200端口上沒有其他進程在運行

我的Java版本:“ 1.6.0_31”

有誰知道為什么會這樣嗎?

提前謝謝你的幫助

我認為您應該嘗試減少內存。 進行以下更改:

  1. vi /opt/elasticsearch-1.3.4/bin/service/elasticsearch.conf
  2. 您需要減少內存( ES_HEAP_SIZE )限制。 [1024至512等]
  3. 保存文件。
  4. service elasticsearch start

希望它能解決問題。

我剛剛更新了用於將Elasticsearch作為服務運行的腳本(/etc/init.d/elasticsearch)。 以下腳本解決了該問題。

#! /bin/sh
### BEGIN INIT INFO
# Provides:          elasticsearch
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Starts elasticsearch
# Description:       Starts elasticsearch using start-stop-daemon
### END INIT INFO

ES_HOME=/usr/share/elasticsearch
ES_MIN_MEM=256m
ES_MAX_MEM=2g
DAEMON=$ES_HOME/bin/elasticsearch
NAME=elasticsearch
DESC=elasticsearch
PID_FILE=/var/run/$NAME.pid
#LOG_DIR=/var/log/$NAME
LOG_DIR=/extn1/es_log/
#DATA_DIR=/var/lib/$NAME
DATA_DIR=/extn1/data/
WORK_DIR=/tmp/$NAME
CONFIG_FILE=/etc/$NAME/elasticsearch.yml
DAEMON_OPTS="-p $PID_FILE -Des.config=$CONFIG_FILE -Des.path.home=$ES_HOME -Des.path.logs=$LOG_DIR -Des.path.data=$DATA_DIR -Des.path.work=$WORK_DIR"


test -x $DAEMON || exit 0

set -e

case "$1" in
  start)
    echo -n "Starting $DESC: "
    mkdir -p $LOG_DIR $DATA_DIR $WORK_DIR
    if start-stop-daemon --start --pidfile $PID_FILE --startas $DAEMON -- $DAEMON_OPTS
then
        echo "started."
    else
        echo "failed."
    fi
    ;;
  stop)
    echo -n "Stopping $DESC: "
    if start-stop-daemon --stop --pidfile $PID_FILE
    then
        echo "stopped."
    else
        echo "failed."
    fi
    ;;
  restart|force-reload)
    ${0} stop
    sleep 0.5
    ${0} start
    ;;
  *)
    N=/etc/init.d/$NAME
    echo "Usage: $N {start|stop|restart|force-reload}" >&2
    exit 1
    ;;
esac

exit 0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM