Docker安装Elasticsearch
- 在https://hub.docker.com/_/elasticsearch找到需要Mysql镜像。

- 执行命令下载镜像。
console
docker pull elasticsearch- 执行命令启动一个elasticsearch容器。
concole
##单节点启动
docker run -d --name elasticsearch -p 9200:9200 elasticsearch:tagconsole
##加入集群
docker run -d --name elasticsearch -e ENROLLMENT_TOKEN="<token>" --net net_name -p 9200:9200 elasticsearch:tag- 9200端口为Elasticsearch提供RestfulAPI的端口。
- 9300端口为Elasticsearch集群节点间通讯端口。
-e ENROLLMENT_TOKEN="<token>":当需要将一个新启动的节点加入集群时,设置集群节点的token。-e xpack.security.enabled=false:关闭权限验证功能
- 使用命令设置密码或重置密码。
console
##设置密码
docker exec -it elasticsearch_test /usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive
##重置密码
docker exec -it elasticsearch_test /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic- 浏览器访问http://localhost:9200/。如果开启了SSL则访问https://localhost:9200/,输入账号密码elastic/elastic,返回服务器信息,表示elasticsearch启动成功。

Elasticsearch启动时报错
如果启动时报错"max virtual memory areas vm.max_map_count [65530] is too low",有以下解决方案。
- 可以临时运行下面的命令,拓展内存映射区域。
bash
$ sudo sysctl -w vm.max_map_count=262144- 修改宿主机的内容映射区域配置,达到永久修改。
- 修改
/etc/sysctl.conf文件或在/etc/sysctl.d/目录下添加.conf文件。- 在配置文件中添加以下配置。
propertiesvm.max_map_count=262144
- 重启服务器,执行以下命令,查看配置是否生效。
shell
sysctl vm.max_map_count