ElasticSearch错误:“本机控制器进程已停止-无法启动新的本机进程”

jm2pwxwz  于 5个月前  发布在  ElasticSearch
关注(0)|答案(4)|浏览(85)

我从docker中提取了ElasticSearch图像,并试图使用docker命令运行它,但它不起作用。我得到了以下错误:
错误代码:[1]引导检查失败[1]:默认发现设置不适合生产使用;必须配置[discovery. seed_hosts,discovery. seed_providers,cluster. initial_master_nodes]中的至少一个{"type ":" server "," timestamp ":" 2020 - 02 - 10 T19:47:06,566 Z "," level ":" INFO "," component ":" o.e.n. Node "," www.example.com ":" docker-cluster "," www.example.com ":" elasticsearch "," message ":cluster.name"o.e.n. Node","www.example.com":"docker-cluster","www.example.com":"elasticsearch","message":"closed "}{"type":"server","timestamp":"2020 - 02 - 10T19:47:06,633Z","level":"INFO","component":"o.e.x.m.p. NativeController","www.example.com":"docker-cluster","www.example.com":"elasticsearch","message":"本机控制器进程已停止-无法启动新的本机进程"}

to94eoyn

to94eoyn1#

即使你的日志格式不是很正确,我知道你运行的是Elasticsearch版本:7.x。
所以在这里,我相信你错过了运行容器时需要提供的环境变量。
如果你运行的是单节点Elasticsearch,那么添加环境变量:
第一个月
如果这个解决方案仍然不起作用,我想看看你使用的docker run命令和镜像。

xsuvu9jc

xsuvu9jc2#

有同样的问题,但它实际上在日志中显示,vm.max_map_count被默认设置为小。这导致了最终消息的级联问题。
使用(Linux)后,我的问题得到了解决

sysctl -w vm.max_map_count=262144

字符串
在使用Docker桌面和WSL 2访问Docker桌面的Windows上:

wsl -d docker-desktop


然后使用上面的命令

sysctl -w vm.max_map_count=262144

cunj1qz1

cunj1qz13#

看起来你是在本地机器上用生产设置启动docker。
错误消息清楚地表明下面的参数丢失
引导检查失败% 1:默认发现设置不适合生产使用;必须至少配置[discovery.seed_hosts,discovery.seed_providers,cluster.initial_master_nodes]之一
如果你在本地运行它,那么不需要传递这些参数,只需通过提供discovery.type=single-node参数来绕过生产检查,就可以开始使用下面的命令。
docker run -p 9200:9200 -p 9300:9300 -e“discovery.type=single-node”docker.elastic.co/elasticsearch/elasticsearch:7.6.0

编辑:-请通过ES Bootstrap检查来详细了解这些参数和错误信息,这将有助于您了解这些参数的重要性和它们的作用。

jjhzyzn0

jjhzyzn04#

我尝试在Windows Server 2022上安装7.9.0版本的Elasticsearch时也遇到了类似的问题。对于解决方案,我添加了

  • 发现类型:单节点 *

elasticsearch.yml文件,然后再次运行elasticsearch.bat

相关问题