本文默认大家掌握了docker安装的基础上
文章目录
- 部署安装ElasticSearch 7.2.0
- 可能遇到的安装问题
- 安装中文分词器ik
- 安装elasticsearch-head:5
- 解决elasticsearch-head:5 请求406问题
- 安装kibana:7.2.0
部署安装ElasticSearch 7.2.0
拉取 es镜像
docker pull elasticsearch:7.2.0
运行容器
docker run -d --name es \
-p 9200:9200 \
-p 9300:9300 \
-e ES_JAVA_POTS="-Xms256m -Xmx256m" \
-e "discovery.type=single-node" \
-e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.2.0
解决跨域
先进入容器
docker exec -it es /bin/bash
修改配置
# 修改配置文件
vi config/elasticsearch.yml
# 加入跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"
重启容器
docker restart es
可能遇到的安装问题
使用docker logs -f 容器ID 查看日志发现:
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
第一个异常解决方式
单次解决问题
sysctl -w vm.max_map_count=262144
永久解决问题
在/etc/sysctl.conf文件最后添加一行:
vm.max_map_count=262144
立即生效, 执行:
sysctl -p
第二个异常解决方式
-e ES_JAVA_POTS="-Xms256m -Xmx256m" -e "discovery.type=single-node"
在运行 docker run es的脚本中添加 默认使用的是集群模式 需要配置成单节点.
标识部署成功
安装中文分词器ik
es自带的分词器对中文分词不是很友好,所以我们下载开源的IK分词器来解决这个问题。首先进入到plugins目录中下载分词器,下载完成后然后解压,再重启es即可。具体步骤如下:
注意:elasticsearch的版本和ik分词器的版本需要保持一致,不然在重启的时候会失败。
可以在这查看所有版本,选择合适自己版本的右键复制链接地址即可。点击这里
指令
#进入容器
docker exec -it es /bin/bash
#进入目录
cd /usr/share/elasticsearch/plugins/
#执行命令
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.2.0/elasticsearch-analysis-ik-7.2.0.zip
# 退出容器
exit
#重启
docker restart es
安装elasticsearch-head:5
es的图形化显示工具 --管理界面
拉取镜像
docker pull mobz/elasticsearch-head:5
运行容器
docker run -d --name es-admin \
-p 9100:9100 mobz/elasticsearch-head:5
输入 http:localhost:9100
输入连接的es地址 就可以了
解决elasticsearch-head:5 请求406问题
在上面已经部署了elasticsearch-head:5 但是一些请求回报406的异常
解决方法
进入容器
docker exec -it es-admin /bin/bash
容器安装 vim
敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是当你敲apt-get install vim命令时
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package vim
这时候需要敲:apt-get update,这个命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
等更新完毕以后再敲命令:apt-get install vim命令即可。
406 解决方法:
编辑文件
vi _site/vendor.js
①. 6886行 contentType: "application/x-www-form-urlencoded 改成
contentType: “application/json;charset=UTF-8”
②. 7574行 “application/x-www-form-urlencoded” 改成 “application/json;charset=UTF-8”
重启容器
docker restart es-admin
安装kibana:7.2.0
Kibana 的版本需要和 Elasticsearch 的版本一致。这是官方支持的配置。
运行不同主版本号的 Kibana 和 Elasticsearch 是不支持的(例如 Kibana 5.x 和 Elasticsearch 2.x),若主版本号相同,运行 Kibana 子版本号比 Elasticsearch 子版本号新的版本也是不支持的(例如 Kibana 5.1 和 Elasticsearch 5.0)。
运行一个 Elasticsearch 子版本号大于 Kibana 的版本基本不会有问题,这种情况一般是便于先将 Elasticsearch 升级(例如 Kibana 5.0 和 Elasticsearch 5.1)。在这种配置下,Kibana 启动日志中会出现一个警告,所以一般只是使用于 Kibana 即将要升级到和 Elasticsearch 相同版本的场景。
拉取镜像
docker pull kibana:7.2.0
运行指令
docker run --name kibana --link=es:elasticsearch -p 5601:5601 -d kibana:7.2.0
结果页面