Elasticsearch的启动方法和停止方法

posted in: 系统相关 | 0

目录

启动

启动的方法因安装方式而异。

压缩包(.tar .gz)

如果使用.tar.gz包安装了,则可以从命令行启动。

从命令行启动

可以从命令行启动,如下所示:

./bin/elasticsearch

如果我们对密钥库进行了密码保护,系统将提示我们输入密钥库的密码。

默认情况下,在前台运行,将其日志打印到标准输出(),并且可以通过按Ctrl-C停止。

作为守护进程运行

要作为守护进程运行,请在命令行中指定-d,并使用-p选项在文件中记录进程ID:

./bin/elasticsearch -d -p pid

如果我们对密钥库进行了密码保护,系统将提示我们输入密钥库的密码。有关详细信息,请参阅安全设置。

日志消息可以在$/logs/目录中找到。

要关闭,请终止pid文件中记录的进程ID:

pkill -F pid

.tar.gz包不包括模块。要将作为服务进行管理,请改用或RPM包。

压缩包(.zip)

如果在上安装了带有.zip包的,则可以从命令行启动。如果希望在引导时自动启动,而无需任何用户交互,请将安装为服务。

用命令行运行

可以从命令行启动,如下所示:

.binelasticsearch.bat

安装后不会自动启动。如何启动和停止取决于我们的系统是使用SysV init还是(由较新的发行版使用)。我们可以通过运行以下命令来判断正在使用哪个命令:

ps -p 1

通过SysV init 运行

使用-rc.d 命令将配置为在系统启动时自动启动:

sudo update-rc.d elasticsearch defaults 95 10

可以使用服务命令启动和停止:

sudo -i service elasticsearch start
sudo -i service elasticsearch stop

如果由于任何原因无法启动,它会将失败原因打印到.Log文件可以在/var/Log//中找到。

通过运行

要将配置为在系统启动时自动启动,请运行以下命令:

sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service

可以按如下方式启动和停止:

sudo systemctl start elasticsearch.service
sudo systemctl stop elasticsearch.service

这些命令不提供有关是否成功启动的反馈。相反,这些信息将写入/var/log//中的日志文件中。

如果我们的密钥库受密码保护,则需要使用本地文件和环境变量向提供密钥库密码。此本地文件在存在时应受到保护,一旦启动并运行,可以安全地将其删除。

echo "keystore_password" > /path/to/my_pwd_file.tmp
chmod 600 /path/to/my_pwd_file.tmp
sudo systemctl set-environment ES_KEYSTORE_PASSPHRASE_FILE=/path/to/my_pwd_file.tmp
sudo systemctl start elasticsearch.service

默认情况下,服务不会在日志中记录信息。要启用日志记录,必须从.文件的命令行中删除--quiet选项。

启用日志记录后,可以使用命令获取日志记录信息:

要跟踪日志:

sudo journalctl -f

要列出服务的日记条目,请执行以下操作:

sudo journalctl --unit elasticsearch

要列出从给定时间开始的服务的日记条目,请执行以下操作:

sudo journalctl --unit elasticsearch --since  "2016-10-30 18:17:16"

图像

如果安装了映像,则可以从命令行启动。根据您使用的是开发模式还是生产模式,有不同的方法。参见 Run。

MSI

如果使用.msi包在上安装了,则可以从命令行启动。如果我们呢希望它在引导时自动启动,而无需任何用户交互,请将。

用命令行运行

一旦安装,可以从命令行启动,如果不是作为服务安装的,并且配置为在安装完成时启动,如下所示:

.binelasticsearch.exe

命令行终端将显示如下输出:

RPM包

安装后不会自动启动。如何启动和停止取决于我们的系统是使用SysV init还是(由较新的发行版使用)。您可以通过运行以下命令来判断正在使用哪个命令:

ps -p 1

通过SysV init 运行

使用命令将配置为在系统启动时自动启动

sudo chkconfig --add elasticsearch

可以使用服务命令启动和停止:

sudo -i service elasticsearch start
sudo -i service elasticsearch stop

如果由于任何原因无法启动,它会将失败原因打印到.Log文件可以在/var/Log//中找到。

通过运行

要将配置为在系统启动时自动启动,请运行以下命令:

sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service

可以按如下方式启动和停止:

sudo systemctl start elasticsearch.service
sudo systemctl stop elasticsearch.service

这些命令不提供有关是否成功启动的反馈。相反,这些信息将写入/var/log//中的日志文件中。

如果我们的密钥库受密码保护,则需要使用本地文件和环境变量向提供密钥库密码。此本地文件在存在时应受到保护,一旦启动并运行,可以安全地将其删除。

echo "keystore_password" > /path/to/my_pwd_file.tmp
chmod 600 /path/to/my_pwd_file.tmp
sudo systemctl set-environment ES_KEYSTORE_PASSPHRASE_FILE=/path/to/my_pwd_file.tmp
sudo systemctl start elasticsearch.service

默认情况下,服务不会在日志中记录信息。要启用日志记录,必须从.文件的命令行中删除--quiet选项。

启用日志记录后,可以使用命令获取日志记录信息:

要跟踪日志:

sudo journalctl -f

要列出服务的日记条目,请执行以下操作:

sudo journalctl --unit elasticsearch

要列出从给定时间开始的服务的日记条目,请执行以下操作:

sudo journalctl --unit elasticsearch --since  "2016-10-30 18:17:16"

停止

的有序关闭可确保有机会清理和关闭未完成的资源。例如,以有序方式关闭的节点将从集群中移除自身,将同步到磁盘,并执行其他相关的清理活动。通过正确停止,可以帮助确保有序关闭。

如果我们将作为服务运行,则可以通过安装提供的服务管理功能停止。

如果我们直接运行,我们可以通过发送-C(如果我们在控制台中运行)或通过向POSIX系统上的进程发送来停止。我们可以通过各种工具(如ps或jps)获取PID以将信号发送到:

$ jps | grep Elasticsearch
14542 Elasticsearch

从启动日志:

[2016-07-07 12:26:18,908][INFO ][node                     ] [I8hydUG] version[5.0.0-alpha4], pid[15399], build[3f5b994/2016-06-27T16:23:46.861Z], OS[Mac OS X/10.11.5/x86_64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_92/25.92-b14]

或者通过指定启动时写入PID文件的位置(-p

):

$ ./bin/elasticsearch -p /tmp/elasticsearch-pid -d
$ cat /tmp/elasticsearch-pid && echo
15516
$ kill -SIGTERM 15516

出现致命错误时停止

在虚拟机的生命周期内,可能会出现某些致命错误,使虚拟机处于可疑状态。这些致命错误包括内存不足错误、虚拟机内部错误和严重的I/O错误。

当检测到虚拟机遇到这种致命错误时,将尝试记录错误,然后停止虚拟机。当启动这样的关闭时,它不会像上面描述的那样经历有序的关闭。进程还将返回一个特殊的状态代码,指示错误的性质。

JVM error

128

Out of error

127

Stack error

126

error

125

I/O error

124

fatal error

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注