一旦在Linux服务器上崩溃,如何自动重启elasticsearch搜索?

vir*_*ery 0 linux service centos elasticsearch server

一旦我的 elasticsearch 在 linux 服务器上崩溃。它给了我以下错误:

Elasticsearch\Common\Exceptions\NoNodesAvailableException:/var/www/laravel/vendor/elasticsearch/elasticsearch/src/Elasticsearch/ConnectionPool/StaticNoPingConnectionPool.php:51 No alive nodes found in your cluster 
Run Code Online (Sandbox Code Playgroud)

太解决这个我需要重置完整的服务器。

我想要解决方案,因为我的 elasticsearch 服务会在崩溃时自动重启。

我的服务器配置:

Linux name 3.10.0-514.21.1.el7.x86_64 #1 SMP Thu May 25 17:04:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

如何在服务器上设置一些在崩溃时自动重启我的 elasticsearch 的东西?

vir*_*ery 12

崩溃或宕机后自动重启elasticsearch服务的步骤:

1)使用以下命令编辑elasticsearch服务单元文件

sudo systemctl edit elasticsearch.service 
Run Code Online (Sandbox Code Playgroud)

此命令将创建一个文件

/etc/systemd/system/elasticsearch.service.d/override.conf
Run Code Online (Sandbox Code Playgroud)

2) 现在,在单元文件中添加以下几行。

[Service]
Restart=always
Run Code Online (Sandbox Code Playgroud)

3) 保存文件。

ctrl+x  > Y > Enter
Run Code Online (Sandbox Code Playgroud)

4) 使用命令刷新单元文件

sudo systemctl daemon-reload
Run Code Online (Sandbox Code Playgroud)

5)可以使用命令检查更改

sudo systemctl cat elasticsearch.service
Run Code Online (Sandbox Code Playgroud)


SAN*_*P S 5

7.14.1中自动重启elasticsearch服务:

去:

nano /usr/lib/systemd/system/elasticsearch.service 
Run Code Online (Sandbox Code Playgroud)

服务文件的位置在 7.14.1 中发生了更改。

然后将此行添加到服务文件中:

[Service]
Restart=always
Run Code Online (Sandbox Code Playgroud)

之后保存文件并重新启动elasticsearch服务。

现在你可以走了。(此后就不会再出现崩溃了)