当使用docker-compose启动Elasticsearch7时,遇到退出代码78的情况时的处理方法
这是什么东西
以下是在使用docker-compose启动Elasticsearch7.3.2时遇到的错误,并记录了解决方法。
elasticsearch_1 | {"type": "server", "timestamp": "2019-09-22T03:27:53,917+0000", "level": "INFO", "component": "o.e.x.m.p.NativeController", "cluster.name": "docker-cluster", "node.name": "37092a04af2c", "message": "Native controller process has stopped - no new native processes can be started" }
local_elasticsearch_1 exited with code 78
当初的Dockerfile和docker-compose.yml
出现错误时,我也会先把文件存放在那儿。
Dockerfile从 docker.elastic.co/elasticsearch/elasticsearch:7.3.2 导入
运行 elasticsearch-plugin install analysis-kuromoji
运行 elasticsearch-plugin install analysis-kuromoji
docker-compose.ymldocker-compose.yml
版本: ‘3’
版本: ‘3’
卷:
es-data:
驱动程序: 本地
服务:
elasticsearch:
构建: ./elasticsearch
卷:
– es-data:/usr/share/elasticsearch/data
端口:
– “9200:9200”
应对方法
看起来Elastisearch7增加了一些配置。我会参考官方文档进行相应的处理。
https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html
我已根据以下内容配置了Dockerfile和docker-compose.yml文件,并确认了Elasticsearch的启动。
FROM docker.elastic.co/elasticsearch/elasticsearch:7.3.2
# 日本語全文検索pulgin
RUN elasticsearch-plugin install analysis-kuromoji
version: '3'
volumes:
es-data:
driver: local
services:
elasticsearch:
build: ./elasticsearch
volumes:
- es-data:/usr/share/elasticsearch/data
environment:
- discovery.type=single-node
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
ports:
- "9200:9200"
环境和资源限制(ulimits)似乎很重要。
动作确认如下。
$ curl -X GET http://localhost:9200
{
"name" : "d303b5e351a4",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "7h4hvetmRHaM-Kp6rVcQiA",
"version" : {
"number" : "7.3.2",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "1c1faf1",
"build_date" : "2019-09-06T14:40:30.409026Z",
"build_snapshot" : false,
"lucene_version" : "8.1.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
由于Elasticsearch 7版本的设置值增多,因此即使随意参考旧版Elasticsearch的文章也可能无法正常运行,请注意。