Docker安装elasticsearch与启动

安装

安装官方的docker镜像,最新版本为elasticsearch:7.6.2

1
sudo docker pull docker.elastic.co/elasticsearch/elasticsearch:7.6.2

启动

1
docker run -d -p 9200:9200 -p 9300:9300 --name elasticsearch docker.elastic.co/elasticsearch/elasticsearch:7.6.2

但是可以看到这时是启动不了的。
查看日志:docker logs elasticsearch容器id

看到有两个错误:

1
2
3
ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
[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]是指elasticsearch需要的vm.max_map_count最少需要262144才能启动。
解决方法:

1
2
3
4
vi /etc/sysctl.conf
vm.max_map_count=262144 #添加

sudo sysctl -p #生效

[2]从字面意思是默认的配置不适用于生产环境,需要手动设置[[discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes]]中的一个。

如果是试验集群可以加配置-e "cluster.initial_master_nodes=node-1"

1
run -d -p 9200:9200 -p 9300:9300 -e "cluster.initial_master_nodes=node-1" --name ES-master docker.elastic.co/elasticsearch/elasticsearch:7.6.2

像我是单机试验加-e "discovery.type=single-node",也可以:

1
run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" --name ES docker.elastic.co/elasticsearch/elasticsearch:7.6.2

以上两个方式都可以解决[2]

到此就可正常启动docker上的elasticsearch,连接本地docker映射端口9200就可操作。


- - END - -


腾讯云
0%