安装elasticsearch
安装
拉取镜像
1 | docker pull docker.elastic.co/elasticsearch/elasticsearch:6.2.2 |
运行容器
ElasticSearch的默认端口是9200,我们把宿主环境9200端口映射到Docker容器中的9200端口,
就可以访问到Docker容器中的ElasticSearch服务了,同时我们把这个容器命名为es
1 | docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.2.2 |
配置elasticsearch
进入容器
1 | docker exec -it es /bin/bash |
进入配置文件夹
1 | cd config |
修改配置文件
1 | vi elasticsearch.yml |
加入跨域配置
1 | http.cors.enabled: true |
esc–>:wq–>回车(保存退出)/Esc–>:q!–>回车(退出不保存)
重启
1 | docker restart es |
配置ik分词器
1 | docker cp /data/tools/elasticsearch-analysis-ik-6.2.2.zip es:/usr/share/elasticsearch/plugins/ |
重启
1 | docker restart es |
常见问题
(1)max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
编辑 /etc/security/limits.conf
,追加以下内容;
1 | * soft nofile 65536 |
(2)max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
编辑 /etc/sysctl.conf
,追加以下内容:
1 | vm.max_map_count=655360 |
保存后,执行
1 | sysctl -p |
重启es
1 | docker restart es |
安装elasticsearch-head
安装
拉取镜像
1 | docker pull mobz/elasticsearch-head:5 |
运行容器
1 | docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5 |
常见问题
_search 406 (Not Acceptable)
1 | docker exec -it es_admin /bin/bash |
按ESC
输入:6886
跳转到6886行
把contentType: "application/x-www-form-urlencoded"
改为 contentType: "application/json"
退出
1 | exit |
重启1
docker restart es_admin
参考命令
1 | docker ps -a(查看容器) |