本文默认大家掌握了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的脚本中添加 默认使用的是集群模式 需要配置成单节点.

测试
http://localhost:9200

es连接 改数据 es连接工具_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连接 改数据 es连接工具_elasticsearch_02


输入连接的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

结果页面

es连接 改数据 es连接工具_docker_03