![](/img/trans.png)
[英]root password of an public image kubesphere/elasticsearch-oss:6.7.0-1
[英]How to change using elasticsearch 5.5-alpine to elasticsearch-oss:6.2.4?
我正在使用elasticsearch5.5-alpine,但我想將其升級到elasticsearch-oss:6.2.4。 每當我從docker-compose文件升級時,都會出現elasticsearch無法訪問的錯誤,而且elasticsearch在localhost:9200上也不起作用。 我該如何解決這個問題?
這是我的docker-compose文件:
version: '3'
services:
nginx:
image: nginx:latest
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
ports:
- 8888:80
depends_on:
- web
web:
build:
context: .
dockerfile: Dockerfile-flask
ports:
- 5000:5000
volumes:
- .:/code
depends_on:
- logstash
logstash:
image: docker.elastic.co/logstash/logstash-oss:6.2.4
volumes:
- ./logstash-simple.conf:/usr/share/logstash/pipeline/logstash.conf
expose:
- 5140/udp
depends_on:
- elasticsearch
elasticsearch:
image: elasticsearch:5.5-alpine
environment:
- cluster.name=docker-clusters
- bootstrap.memory_lock=true
- xpack.security.enabled=false
- "ES_JAVA_OPTS=-Xms2g -Xmx2g"
ulimits:
memlock:
soft: -1
hard: -1
ports:
- "5601:5601"
- "9200:9200"
- "5044:5044"
您需要刪除以下行:
- xpack.security.enabled=false
然后您需要修復引導檢查 :
elasticsearch_1 | ERROR: [1] bootstrap checks failed
elasticsearch_1 | [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
該指南告訴您如何解決:
Elasticsearch和Lucene使用
mmap
可以將索引的某些部分映射到Elasticsearch地址空間中,效果非常好。 這將某些索引數據保留在JVM堆之外,但保留在內存中,以實現快速訪問。 為了使此方法有效,Elasticsearch應該具有無限的地址空間。 虛擬內存的最大大小檢查要求Elasticsearch進程具有無限的地址空間,並且僅在Linux上強制執行。 要通過最大大小的虛擬內存檢查,您必須配置系統以允許Elasticsearch進程具有無限的地址空間。 可以通過/etc/security/limits.conf
使用as設置為unlimited
(請注意,您可能還必須增加root
用戶的限制)來完成此操作。
此命令也可能有助於解決上述問題。
sudo sysctl -w vm.max_map_count=262144
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.