ES面试

Elasticsearch学习笔记(8)

2018-12-13  本文已影响0人  几回寒暑

目录

启动Elasticsearch

启动Elasticsearch的方法取决于你如何安装它。

归档文件包(.tar.gz)

如果你用.tar.gz包安装Elasticsearch,你可以从命令行启动Elasticsearch。

从命令行启动

Elasticsearch可以像以下这样从命令行启动:

./bin/elasticsearch

默认情况下,Elasticsearch在前台运行,打印它的日志到标准输出(stdout),可以通过按下Ctrl-C停止它。
注意:所有与Elasticsearch打包的脚本都需要一个支持数组的Bash版本,并且假定Bash在/bin/bash可用。因此,Bash应该直接或通过符号链接在此路径上可用。

作为守护进程运行

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

./bin/elasticsearch -d -p pid

要关闭Elasticsearch,关闭pid文件中记录的进程ID:

kill cat pid

归档文件包(.zip)

如果你用一个.zip包在Windows上安装Elasticsearch,你可以从命令行启动它。如果您希望弹性搜索在引导时自动启动,而不需要任何用户交互,install Elasticsearch as a service

从命令行启动

Elasticsearch可以从命令行启动,像下面这样:

.\bin\elasticsearch.bat

默认情况下,Elasticsearch在前台运行,打印它的日志到标准输出, 可以按下Ctrl -C停止它。

Debian包

Elasticsearch在安装后不会自动启动。如何启动和停止Elasticsearch取决于是否你的系统使用SysVinit或者systemd(新发行版使用的)。你可以通过运行以下命令来判断是哪种:

ps -p 1

用SysV init 运行Elasticsearch

使用update-rc.d命令来配置Elasticsearch,以便在系统启动时自动启动:

sudo update-rc.d elasticsearch defaults 95 10

Elasticsearch可以启动和停止通过使用service命令:

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

如果Elasticsearch因为任何原因启动失败,它将打印失败的原因到标准输出日志。日志文件在/var/log/elasticsearch/

使用 systemd运行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日志中记录信息。要启用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"

检查man journalctl或者https://www.freedesktop.org/software/systemd/man/journalctl.html获取更多命令行选项。

Docker images

如果安装了一个Docker图像,你可以从命令行启动Elasticsearch。这里有不同的方法取决于你是使用的开发模式还是生产模式。请看Running Elasticsearch from the command line.

MSI包

如果你是用.msi包在Windows上安装Elasticsearch, 你可以从命令行启动它。如果你想在重启机器时没有任何用户交互启动Elasticsearch,参考install Elasticsearch as a Windows service

从命令行启动

一但安装完成, Elasticsearch可以从命令行启动了, 如果没有作为服务安装,并且在安装完成时配置为启动,则如下所示:

.\bin\elasticsearch.exe

命令行终端将显示与下面类似的输出:


默认情况下,Elasticsearch在前台运行,除了将日志打印到在日志目录下的<clustername>.log文件,还会打印到标准输出, 可以按Ctrl-C停止。

RPM包

Elasticsearch在安装后不会自动启动。如何启动和停止Elasticsearch取决于你是否你的系统使用SysVinit或者systemd(新的发行版使用)。您可以通过运行以下命令来判断哪个正在被使用:

ps -p 1

用SysV init运行ELasticsearch

使用chkconfig命令来配置Elasticsearch随机自启动:

sudo chkconfig --add elasticsearch

Elasticsearch使用service命令启动和停止:

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

如果Elasticsearch因为任何原因启动失败, 它将会把失败原因打印到STDOUT。日志文件在/var/log/elasticsearch目录下。

使用systemd运行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日志中记录信息。要启用journalctl日志记录,必须从elasticsearch.service文件中的ExecStart命令行中删除—quiet选项。

当systemd日志记录启用时,日志记录信息可以使用journalctl命令查看:
跟踪日志:

sudo journalctl -f

列出弹性搜索服务的日志条目:

sudo journalctl --unit elasticsearch

从给定时间开始列出elasticsearch服务的日志条目:

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

停止Elasticsearch

对Elasticsearch的有序关闭确保了Elasticsearch有机会清理和关闭未完成的资源。例如,以一种有序的方式关闭的节点将从集群中删除自己,将日志同步到磁盘,并执行其他相关的清理活动。通过适当停止弹性搜索,可以帮助确保有序关闭。

如果将Elasticsearch作为服务运行,则可以通过安装提供的服务管理功能停止。如果你直接运行Elasticsearch,你可以通过发送control-C停止Elasticsearch,如果你在控制台运行Elasticsearch,或者通过发送SIGTERM到POSIX系统上的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/elaticsearch-pid && echo

15516

$ kill - SIGTERM 15516

停止致命错误

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

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

下一章 —— Elasticsearch学习笔记(9)

上一篇下一篇

猜你喜欢

热点阅读