如果max_map_count不能启动,则es会启动不起来
max_map_count的值 默认是65530
我们需要将其修改为262144
cat /proc/sys/vm/max_map_count sysctl -w vm.max_map_count=2621442.拉取镜像
#拉取镜像 docker pull elasticsearch:7.7.0 #启动镜像 docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.7.0
访问ip:9200出现以下界面表示安装成功
ealsticsearch只是后端提供各种api,那么怎么直观的使用它呢?elasticsearch-head将是一款专门针对于elasticsearch的客户端工具。
#拉取镜像 docker pull mobz/elasticsearch-head:5 #创建容器 docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5 #启动容器 docker start elasticsearch-head or docker start 容器id (docker ps -a 查看容器id )
浏览器打开: http://IP:9100
我们会发现easticsearch未连接,这是由于前后端分离开发,所以会存在跨域问题,需要在服务端做CORS的配置
3.2 配置跨域修改docker中elasticsearch的elasticsearch.yml文件
# 进入镜像 docker exec -it elasticsearch /bin/bash # 进入到 config目录 cd ./config/ # 编辑elasticsearch.yml文件 vi elasticsearch.yml
在文件的最后添加
http.cors.enabled: true http.cors.allow-origin: "*"
重启服务
再次访问http://IP:9100,便会出现以下结果
接下来我们只需进行最后一步操作就结束elasticsearch-head的配置了
#复制vendor.js到外部 docker cp 容器id:/usr/src/app/_site/vendor.js ./ #修改vendor.js vim vendor.js
将该文件 6886行以及7573行的信息改为:
application/json;charset=UTF-8
修改完成之后在重新复制回容器
docker cp ./vendor.js elasticsearch-head:/usr/src/app/_site/vendor.js
重启服务
点击此处下载
# 进入容器内 docker exec -it elasticsearch /bin/bash # 在plugins目录下创建ik目录 mkdir ./ik # 将安装包复制到镜像 内 docker cp ./elasticsearch-analysis-ik-7.7.0.zip elasticsearch:/usr/share/elasticsearch/plugins/ik/ # 再次进入镜像进行 解压 unzip elasticsearch-analysis-ik-7.7.0.zip
重启 镜像



