Я обращаюсь к своему серверу с помощью ssh через клиента Putty, но когда моя шпаклевка неактивна или я закрываю ее, поиск останавливается. Я хочу держать его все время. Как я могу это достичь?Как сохранить эластичный поиск на сервере linux
ответ
Проблема заключается в том, что elasticsearch не запускается в качестве демона (сервера). Вместо этого вы запускаете его, как обычную программу. Поэтому, когда вы останавливаете сеанс SSH, программа перестает работать.
Чтобы начать поиск elasticsearch при перезагрузке сервера, вам необходимо добавить elasticsearch к запуску сервера.
Вы не указали, какую операционную систему вы используете на сервере. Предположим, что это система Debian (например, Ubuntu)), вы должны создать файл, который вы можете поместить в каталог /etc/init.d.
Я скопировал файл с моего сервера ниже. Возможно, у вас уже есть это. Посмотрите на файл /etc/init.d/elasticsearch
$ more /etc/init.d/elasticsearch
После того, как у вас есть файл, который вы можете запустить команду
sudo update-rc.d elasticsearch defaults 95 10
Это будет «установить» elasticsearch в качестве службы.
Для запуска и остановки службы, вы можете выполнить команды:
sudo service elasticsearch start
sudo service elasticsearch stop
Файл ниже, если у вас нет уже.
#!/bin/sh
#
# /etc/init.d/elasticsearch -- startup script for Elasticsearch
#
# Written by Miquel van Smoorenburg <[email protected]>.
# Modified for Debian GNU/Linux by Ian Murdock <[email protected]>.
# Modified for Tomcat by Stefan Gybas <[email protected]>.
# Modified for Tomcat6 by Thierry Carrez <[email protected]>.
# Additional improvements by Jason Brittain <[email protected]>.
# Modified by Nicolas Huray for Elasticsearch <[email protected]>.
#
### BEGIN INIT INFO
# Provides: elasticsearch
# Required-Start: $network $remote_fs $named
# Required-Stop: $network $remote_fs $named
# 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
PATH=/bin:/usr/bin:/sbin:/usr/sbin
NAME=elasticsearch
DESC="Elasticsearch Server"
DEFAULT=/etc/default/$NAME
if [ `id -u` -ne 0 ]; then
echo "You need root privileges to run this script"
exit 1
fi
. /lib/lsb/init-functions
if [ -r /etc/default/rcS ]; then
. /etc/default/rcS
fi
# The following variables can be overwritten in $DEFAULT
# Run Elasticsearch as this user ID and group ID
ES_USER=elasticsearch
ES_GROUP=elasticsearch
# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not defined in $DEFAULT)
JDK_DIRS="/usr/lib/jvm/java-8-oracle/ /usr/lib/jvm/j2sdk1.8-oracle/ /usr/lib/jvm/jdk-7-oracle-x64 /usr/lib/jvm/java-7-oracle /usr/lib/jvm/j2sdk1.7-oracle/ /usr/lib/jvm/jav
a-7-openjdk /usr/lib/jvm/java-7-openjdk-amd64/ /usr/lib/jvm/java-7-openjdk-armhf /usr/lib/jvm/java-7-openjdk-i386/ /usr/lib/jvm/default-java"
# Look for the right JVM to use
for jdir in $JDK_DIRS; do
if [ -r "$jdir/bin/java" -a -z "${JAVA_HOME}" ]; then
JAVA_HOME="$jdir"
fi
done
export JAVA_HOME
# Directory where the Elasticsearch binary distribution resides
ES_HOME=/usr/share/$NAME
# Heap size defaults to 256m min, 1g max
# Set ES_HEAP_SIZE to 50% of available RAM, but no more than 31g
#ES_HEAP_SIZE=2g
# Heap new generation
#ES_HEAP_NEWSIZE=
# max direct memory
#ES_DIRECT_SIZE=
# Additional Java OPTS
#ES_JAVA_OPTS=
# Maximum number of open files
MAX_OPEN_FILES=65535
# Maximum amount of locked memory
#MAX_LOCKED_MEMORY=
# Elasticsearch log directory
LOG_DIR=/var/log/$NAME
# Elasticsearch data directory
DATA_DIR=/var/lib/$NAME
# Elasticsearch work directory
WORK_DIR=/tmp/$NAME
# Elasticsearch configuration directory
CONF_DIR=/etc/$NAME
# Elasticsearch configuration file (elasticsearch.yml)
CONF_FILE=$CONF_DIR/elasticsearch.yml
# Maximum number of VMA (Virtual Memory Areas) a process can own
MAX_MAP_COUNT=262144
# End of variables that can be overwritten in $DEFAULT
# overwrite settings from default file
if [ -f "$DEFAULT" ]; then
. "$DEFAULT"
fi
# Define other required variables
PID_FILE=/var/run/$NAME.pid
DAEMON=$ES_HOME/bin/elasticsearch
DAEMON_OPTS="-d -p $PID_FILE --default.config=$CONF_FILE --default.path.home=$ES_HOME --default.path.logs=$LOG_DIR --default.path.data=$DATA_DIR --default.path.work=$WORK_
DIR --default.path.conf=$CONF_DIR"
export ES_HEAP_SIZE
export ES_HEAP_NEWSIZE
export ES_DIRECT_SIZE
export ES_JAVA_OPTS
# Check DAEMON exists
test -x $DAEMON || exit 0
checkJava() {
if [ -x "$JAVA_HOME/bin/java" ]; then
JAVA="$JAVA_HOME/bin/java"
else
JAVA=`which java`
fi
if [ ! -x "$JAVA" ]; then
echo "Could not find any executable java binary. Please install java in your PATH or set JAVA_HOME"
exit 1
fi
}
case "$1" in
start)
checkJava
if [ -n "$MAX_LOCKED_MEMORY" -a -z "$ES_HEAP_SIZE" ]; then
log_failure_msg "MAX_LOCKED_MEMORY is set - ES_HEAP_SIZE must also be set"
exit 1
fi
log_daemon_msg "Starting $DESC"
pid=`pidofproc -p $PID_FILE elasticsearch`
if [ -n "$pid" ] ; then
log_begin_msg "Already running."
log_end_msg 0
exit 0
fi
# Prepare environment
mkdir -p "$LOG_DIR" "$DATA_DIR" "$WORK_DIR" && chown "$ES_USER":"$ES_GROUP" "$LOG_DIR" "$DATA_DIR" "$WORK_DIR"
touch "$PID_FILE" && chown "$ES_USER":"$ES_GROUP" "$PID_FILE"
if [ -n "$MAX_OPEN_FILES" ]; then
ulimit -n $MAX_OPEN_FILES
fi
if [ -n "$MAX_LOCKED_MEMORY" ]; then
ulimit -l $MAX_LOCKED_MEMORY
fi
if [ -n "$MAX_MAP_COUNT" -a -f /proc/sys/vm/max_map_count ]; then
sysctl -q -w vm.max_map_count=$MAX_MAP_COUNT
fi
# Start Daemon
start-stop-daemon --start -b --user "$ES_USER" -c "$ES_USER" --pidfile "$PID_FILE" --exec $DAEMON -- $DAEMON_OPTS
return=$?
if [ $return -eq 0 ]
then
i=0
timeout=10
# Wait for the process to be properly started before exiting
until { cat "$PID_FILE" | xargs kill -0; } >/dev/null 2>&1
do
sleep 1
i=$(($i + 1))
[ $i -gt $timeout ] && log_end_msg 1
done
else
log_end_msg $return
fi
;;
stop)
log_daemon_msg "Stopping $DESC"
if [ -f "$PID_FILE" ]; then
start-stop-daemon --stop --pidfile "$PID_FILE" \
--user "$ES_USER" \
--retry=TERM/20/KILL/5 >/dev/null
if [ $? -eq 1 ]; then
log_progress_msg "$DESC is not running but pid file exists, cleaning up"
elif [ $? -eq 3 ]; then
PID="`cat $PID_FILE`"
log_failure_msg "Failed to stop $DESC (pid $PID)"
exit 1
fi
rm -f "$PID_FILE"
else
log_progress_msg "(not running)"
fi
log_end_msg 0
;;
status)
status_of_proc -p $PID_FILE elasticsearch elasticsearch && exit 0 || exit $?
;;
restart|force-reload)
if [ -f "$PID_FILE" ]; then
$0 stop
sleep 1
fi
$0 start
;;
*)
log_success_msg "Usage: $0 {start|stop|restart|force-reload|status}"
exit 1
;;
esac
exit 0
Я должен был просто указать на документы: https://www.elastic.co/guide/en/elasticsearch/reference/current /setup-service.html – crafter
Большое спасибо ... это сработало! –
Это замечательно, но не решает проблему, когда ES падает, что может случиться время от времени. –
- 1. Эластичный поиск ОЗУ на производственном сервере
- 2. Как установить эластичный поиск на хосте-сервере Linux с помощью SSH
- 3. Как сохранить эластичный поиск в Cent OS 6.5?
- 4. эластичный поиск + jdk
- 5. Поиск файла на сервере linux с php
- 6. Как провести поиск эластичности на сервере IIS
- 7. Как настроить эластичный поиск на Hadoop?
- 8. хранимые процедуры поиск эластичный поиск
- 9. эластичный поиск нескольких типов поиск
- 10. эластичный поиск подходящий вопрос
- 11. Эластичный поиск с гнездом
- 12. Эластичный поиск 2.4 upgrade
- 13. CakePHP 3 эластичный поиск
- 14. тип несоответствие эластичный поиск
- 15. Эластичный поиск по дате
- 16. Эластичный поиск SQL Server
- 17. эластичный поиск алгоритм GeoPolygonFilter
- 18. Эластичный поиск и шина
- 19. Эластичный поиск Цифровой океан
- 20. Эластичный поиск условного фильтра
- 21. Эластичный поиск по многим индексам
- 22. Что такое эластичный поиск
- 23. Эластичный поиск SQL Equivalent
- 24. эластичный поиск процентиля агрегации
- 25. эластичный поиск не запустится
- 26. QueryFilterBuilder эластичный поиск 2.4
- 27. Эластичный поиск: Соединение Отказано
- 28. Java - эластичный поиск
- 29. эластичный поиск geo_point issue
- 30. Запрос на эластичный поиск для нескольких условий
Как перезапустить его при повторном входе в систему? – crafter
Когда я снова вхожу в систему, я начинаю искать эластичный поиск .... с командой ./bin/elasticsearch –