赞
踩
目录
启动Elasticsearch的方法因安装方式而异。
如果使用.tar.gz包安装了Elasticsearch,则可以从命令行启动Elasticsearch。
Elasticsearch可以从命令行启动,如下所示:
./bin/elasticsearch
如果我们对Elasticsearch密钥库进行了密码保护,系统将提示我们输入密钥库的密码。
默认情况下,Elasticsearch在前台运行,将其日志打印到标准输出(stdout),并且可以通过按Ctrl-C停止。
要作为守护进程运行Elasticsearch,请在命令行中指定-d,并使用-p选项在文件中记录进程ID:
./bin/elasticsearch -d -p pid
如果我们对Elasticsearch密钥库进行了密码保护,系统将提示我们输入密钥库的密码。有关详细信息,请参阅安全设置。
日志消息可以在$ES_HOME/logs/目录中找到。
要关闭Elasticsearch,请终止pid文件中记录的进程ID:
pkill -F pid
Elasticsearch.tar.gz包不包括systemd模块。要将Elasticsearch作为服务进行管理,请改用Debian或RPM包。
如果在Windows上安装了带有.zip包的Elasticsearch,则可以从命令行启动Elasticsearch。如果希望Elasticsearch在引导时自动启动,而无需任何用户交互,请将Elasticsearch安装为服务。
Elasticsearch可以从命令行启动,如下所示:
.\bin\elasticsearch.bat
安装后Elasticsearch不会自动启动。如何启动和停止Elasticsearch取决于我们的系统是使用SysV init还是systemd(由较新的发行版使用)。我们可以通过运行以下命令来判断正在使用哪个命令:
ps -p 1
使用update-rc.d
命令将Elasticsearch配置为在系统启动时自动启动:
sudo update-rc.d elasticsearch defaults 95 10
可以使用服务命令启动和停止Elasticsearch:
- sudo -i service elasticsearch start
- sudo -i service elasticsearch stop
如果Elasticsearch由于任何原因无法启动,它会将失败原因打印到STDOUT.Log文件可以在/var/Log/elasticsearch/中找到。
要将Elasticsearch配置为在系统启动时自动启动,请运行以下命令:
- sudo /bin/systemctl daemon-reload
- sudo /bin/systemctl enable elasticsearch.service
Elasticsearch可以按如下方式启动和停止:
- sudo systemctl start elasticsearch.service
- sudo systemctl stop elasticsearch.service
这些命令不提供有关Elasticsearch是否成功启动的反馈。相反,这些信息将写入/var/log/elasticsearch/中的日志文件中。
如果我们的Elasticsearch密钥库受密码保护,则需要使用本地文件和systemd环境变量向systemd提供密钥库密码。此本地文件在存在时应受到保护,一旦Elasticsearch启动并运行,可以安全地将其删除。
- 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
默认情况下,Elasticsearch服务不会在systemd日志中记录信息。要启用journalctl日志记录,必须从elasticsearch.service文件的ExecStart命令行中删除--quiet选项。
启用systemd日志记录后,可以使用journalctl命令获取日志记录信息:
要跟踪日志:
sudo journalctl -f
要列出elasticsearch服务的日记条目,请执行以下操作:
sudo journalctl --unit elasticsearch
要列出从给定时间开始的elasticsearch服务的日记条目,请执行以下操作:
sudo journalctl --unit elasticsearch --since "2016-10-30 18:17:16"
如果安装了Docker映像,则可以从命令行启动Elasticsearch。根据您使用的是开发模式还是生产模式,有不同的方法。参见Docker Run。
如果使用.msi包在Windows上安装了Elasticsearch,则可以从命令行启动Elasticsearch。如果我们呢希望它在引导时自动启动,而无需任何用户交互,请将Elasticsearch安装为Windows服务。
一旦安装,Elasticsearch可以从命令行启动,如果不是作为服务安装的,并且配置为在安装完成时启动,如下所示:
.\bin\elasticsearch.exe
命令行终端将显示如下输出:
安装后Elasticsearch不会自动启动。如何启动和停止Elasticsearch取决于我们的系统是使用SysV init还是systemd(由较新的发行版使用)。您可以通过运行以下命令来判断正在使用哪个命令:
ps -p 1
使用chkconfig命令将Elasticsearch配置为在系统启动时自动启动
sudo chkconfig --add elasticsearch
可以使用服务命令启动和停止Elasticsearch:
- sudo -i service elasticsearch start
- sudo -i service elasticsearch stop
如果Elasticsearch由于任何原因无法启动,它会将失败原因打印到STDOUT.Log文件可以在/var/Log/elasticsearch/中找到。
要将Elasticsearch配置为在系统启动时自动启动,请运行以下命令:
- sudo /bin/systemctl daemon-reload
- sudo /bin/systemctl enable elasticsearch.service
Elasticsearch可以按如下方式启动和停止:
- sudo systemctl start elasticsearch.service
- sudo systemctl stop elasticsearch.service
这些命令不提供有关Elasticsearch是否成功启动的反馈。相反,这些信息将写入/var/log/elasticsearch/中的日志文件中。
如果我们的Elasticsearch密钥库受密码保护,则需要使用本地文件和systemd环境变量向systemd提供密钥库密码。此本地文件在存在时应受到保护,一旦Elasticsearch启动并运行,可以安全地将其删除。
- 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
默认情况下,Elasticsearch服务不会在systemd日志中记录信息。要启用journalctl日志记录,必须从elasticsearch.service文件的ExecStart命令行中删除--quiet选项。
启用systemd日志记录后,可以使用journalctl命令获取日志记录信息:
要跟踪日志:
sudo journalctl -f
要列出elasticsearch服务的日记条目,请执行以下操作:
sudo journalctl --unit elasticsearch
要列出从给定时间开始的elasticsearch服务的日记条目,请执行以下操作:
sudo journalctl --unit elasticsearch --since "2016-10-30 18:17:16"
Elasticsearch的有序关闭可确保Elasticsearch有机会清理和关闭未完成的资源。例如,以有序方式关闭的节点将从集群中移除自身,将translog同步到磁盘,并执行其他相关的清理活动。通过正确停止Elasticsearch,可以帮助确保有序关闭。
如果我们将Elasticsearch作为服务运行,则可以通过安装提供的服务管理功能停止Elasticsearch。
如果我们直接运行Elasticsearch,我们可以通过发送control-C(如果我们在控制台中运行Elasticsearch)或通过向POSIX系统上的Elasticsearch进程发送SIGTERM来停止Elasticsearch。我们可以通过各种工具(如ps或jps)获取PID以将信号发送到:
- $ jps | grep Elasticsearch
- 14542 Elasticsearch
从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<path>):
- $ ./bin/elasticsearch -p /tmp/elasticsearch-pid -d
- $ cat /tmp/elasticsearch-pid && echo
- 15516
- $ kill -SIGTERM 15516
在Elasticsearch虚拟机的生命周期内,可能会出现某些致命错误,使虚拟机处于可疑状态。这些致命错误包括内存不足错误、虚拟机内部错误和严重的I/O错误。
当Elasticsearch检测到虚拟机遇到这种致命错误时,Elasticsearch将尝试记录错误,然后停止虚拟机。当Elasticsearch启动这样的关闭时,它不会像上面描述的那样经历有序的关闭。Elasticsearch进程还将返回一个特殊的状态代码,指示错误的性质。
JVM internal error | 128 |
Out of memory error | 127 |
Stack overflow error | 126 |
Unknown virtual machine error | 125 |
Serious I/O error | 124 |
Unknown fatal error | 1 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。