在用docker安装 ElasticSearch
时,能正常创建容器,返回容器ID,但却无法正常启动,使用浏览器访问 127.0.0.1:9200
时无法访问,使用 docker logs
查看错误日志,发现报了两个错:bootstrap checks failed,下面分别是这两个错误的解决方法。
docker network create elastic
docker run --name elasticsearch -d -p 9200:9200 -p 9300:9300 --net elastic elasticsearch:7.8.0
Error 1
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方案
vim /etc/sysctl.conf
# 在文件中添加如下行:
vm.max_map_count=655360
# 保存退出文件,运行命令:
sysctl -p
Error 2
[2]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
解决方案
1. Docker
docker run --name elasticsearch -d -p 9200:9200 -p 9300:9300 -e cluster.initial_master_nodes="es7_01" --net elastic elasticsearch:7.8.0
2. 修改yml配置文件
在 elasticsearch.yml 配置文件中添加:
cluster.initial_master_nodes: ["es7_01"]