一、目标
基于Docker部署:
- ElasticSearch
- ElasticSearch-Head
二、部署ElasticSearch
1、基于docker部署
拉取镜像(cmd)
# 后面8.0.0是指定的版本号
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.0.0
运行容器(cmd)
# ElasticSearch的默认端口是9200,我们把宿主环境9200端口映射到Docker容器中的9200端口,就可以访问到Docker容器中的ElasticSearch服务了,同时我们把这个容器命名为es
docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:8.0.0
浏览器访问localhost:9200,安装成功
2、遇到的问题
(1)访问localhost:9200提示“浏览器被重置”
这是因为Elasticsearch开启了SSL认证,我们需要修改Docker中Elasticsearch配置信息(VIM)。
打开cmd,进入应用的配置目录
docker exec -it es /bin/bash
cd config
vi elasticsearch.yml
输入vi命令后会显示es的配置文件内容,使用vim命令进行配置修改:
- 添加跨域配置
- 关闭ssl 认证
- 关闭elasticsearch 账号密码验证
修改完成后使用 “:wq” 关闭并保存配置文件,然后重启应用
docker restart es
(2)使用vim命令修改配置文件时提示“bash: vim: command not found”
使用如下命令在bash命令行下更新安装vim工具。
apt-get update
apt-get install vim
# 完成后再vi
三、部署ElasticSearch-Head
1、基于docker部署
拉取镜像
docker pull mobz/elasticsearch-head:5
运行容器
docker run -d --name es_head -p 9100:9100 mobz/elasticsearch-head:5
浏览器访问head服务,安装成功
浏览器进入:http://localhost:9100
2、遇到的问题
(1)ES-Head点击“数据浏览”右侧面板没有数据
原因
ES增加了请求头严格校验
解决方法
基于vim修改vendor.js 代码,主要是修改6886行代码以及7573行代码,这两段代码涉及了ES-Head的编码信息
# 进入bash目录
docker exec -it es_head /bin/bash
# 进入_site目录对vendor.js脚本进行修改
cd _site
# 编辑js
vi vendor.js
6886行修改成这样:
7573行修改成这样:
重启应用
docker restart es_head
vim常用命令
#显示文件行号
:set nu
#跳转到指定行
行号gg
#跳转首行
gg
#跳转最后行
GG