Elasticsearch:尝试启动 elasticsearch 时出现“错误:elasticsearch 意外退出”

BLE*_*NGU 12 elasticsearch

我试图通过.bin/elasticsearch从elasticsearch 目录运行来启动elasticsearch。但是,我不断收到错误消息ERROR: Elasticsearch exited unexpectedly。可能的解决方案是什么?

我使用以下命令从 Linux 上的存档安装了 Elasticsearch。

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.3.3-linux-x86_64.tar.gz

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.3.3-linux-x86_64.tar.gz.sha512

shasum -a 512 -c elasticsearch-8.3.3-linux-x86_64.tar.gz.sha512 

tar -xzf elasticsearch-8.3.3-linux-x86_64.tar.gz

cd elasticsearch-8.3.3/ 
Run Code Online (Sandbox Code Playgroud)

rod*_*olk 10

我在使用 docker(ElasticSearch 版本 8.6.2、docker 引擎 23.0.1 和 Ubuntu 22.04)时遇到了这个问题,按照 ElasticSearch 文档中的说明进行操作:

https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-cli-run-dev-mode

使用ElasticSearch单节点模式进行测试。

我通过将 docker 可以使用的最大内存量设置为 4GB (-m 4GB) 解决了这个问题:

docker run --name es01 -m 4GB -p 9200:9200 -it docker.elastic.co/elasticsearch/elasticsearch:8.6.2
Run Code Online (Sandbox Code Playgroud)


yes*_*nik 9

添加-e "discovery.type=single-node"解决了我在 Docker 上的问题:

docker run --name es-node01 --net elastic -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -t docker.elastic.co/elasticsearch/elasticsearch:8.8.2
Run Code Online (Sandbox Code Playgroud)

  • 对我来说,以下命令有助于解决它 `docker run --name es-node01 --net elastic -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 -t docker.elastic.co/弹性搜索/弹性搜索:8.9.0` (2认同)

小智 8

您可以通过增加到max_map_count以下或类似的内容来解决此问题。

sudo sysctl -w vm.max_map_count=262144
Run Code Online (Sandbox Code Playgroud)

运行该命令后,我的疼痛立即消失了。


小智 5

我在 Docker 中将 Elasticsearch 作为容器运行时遇到了这个问题。允许 Docker 保留更多资源为我解决了这个问题。我已经尝试过,在我的设置中,至少需要 6 GB RAM 才能运行稳定的 Elasticsearch 单节点集群。


小智 0

你可以检查一下吗

ls -ltd elasticsearch-8.3.3
Run Code Online (Sandbox Code Playgroud)

并在此处给出输出(关于目录权限)。