# https://hub.docker.com/
docker pull elasticsearch:7.2.0
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.2.0
docker ps
docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}"
curl http://localhost:9200
也可以在浏览器中打开,如下图:
首先进入到容器中,然后进入到指定目录修改elasticsearch.yml
文件。
$ docker exec -it elasticsearch /bin/bash
$ cd /usr/share/elasticsearch/config/
$ vi elasticsearch.yml
在elasticsearch.yml的文件末尾加上:
http.cors.enabled: true
http.cors.allow-origin: "*"
修改配置后重启容器即可。
$ docker restart elasticsearch
es自带的分词器对中文分词不是很友好,所以我们下载开源的IK分词器来解决这个问题。首先进入到plugins目录中下载分词器,下载完成后然后解压,再重启es即可。具体步骤如下:
注意:elasticsearch的版本和ik分词器的版本需要保持一致,不然在重启的时候会失败。可以在这查看所有版本,选择合适自己版本的右键复制链接地址即可。
# ik分词器下载地址
https://github.com/medcl/elasticsearch-analysis-ik/releases
确定ik版本后,执行下列命令安装:
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
## OR
## elasticsearch-plugin install http://www.52jufu.com/bw/elasticsearch-analysis-ik-7.2.0.zip
exit
docker restart elasticsearch
# 使用crul命令,输入下面的URL地址,验证分词器是否成功。
curl -X GET -H "Content-Type: application/json" "http://localhost:9200/_analyze?pretty=true" -d'{"text":"中华五千年华夏"}';
curl -X GET -H "Content-Type: application/json" "http://localhost:9200/_analyze?pretty=true" -d'{"text":"中华五千年华夏","analyzer": "ik_smart"}';
curl -X GET -H "Content-Type: application/json" "http://localhost:9200/_analyze?pretty=true" -d'{"text":"中华五千年华夏","analyzer": "ik_max_word"}';
# 自己搭建web服务器http://192.168.3.6:8000/download/elasticsearch-analysis-ik-7.2.0.zip
unzip ik.zip
# /server/es/ik/ 为ik分词器解压的目录
# es 为容器的名字
# /usr/share/elasticsearch/plugins/ es容器中的目录
docker cp /server/es/ik/ es:/usr/share/elasticsearch/plugins/
# es 为容器的名字
docker restart es
$ docker pull kibana:7.2.0
安装完成以后需要启动kibana容器,使用--link
连接到elasticsearch容器,命令如下:
docker run --name kibana --link=elasticsearch:test -p 5601:5601 -d kibana:7.2.0
# 关闭防火墙
# systemctl stop firewalld.service
# 禁止firewall开机启动
# systemctl disable firewalld.service
启动以后可以打开浏览器输入http://localhost:5601就可以打开kibana的界面了。
# 在浏览器中打开http://localhost:5601/app/kibana#/home?_g=()