Docker下快速安装ElasticSearch和Kibana

沙海 2020年1月1日03:01:32服务器 Docker Linux评论6083字数 2312阅读7分42秒阅读模式

ElasticSearch安装

1.1 docker安装es文章源自JAVA秀-https://www.javaxiu.com/1252.html

ES最新版本:https://www.elastic.co/cn/downloads/elasticsearch文章源自JAVA秀-https://www.javaxiu.com/1252.html

要使用es肯定是需要安装的,由于用惯了docker,所以也想在docker上尝试一下,主要是因为我的好多软件都以及选择了docker。docker安装其实是很简单的,至于要一行命令即可。这里我选择的是es的7.5.1版本镜像镜像安装,具体安装命令如下:文章源自JAVA秀-https://www.javaxiu.com/1252.html

Docker安装和使用可以参考我的另一篇文章Docker使用命令备忘录文章源自JAVA秀-https://www.javaxiu.com/1252.html

docker pull elasticsearch:7.5.1

敲完命令以后回车,只需要等带镜像下载完成就可以了。文章源自JAVA秀-https://www.javaxiu.com/1252.html

1.2 启动es文章源自JAVA秀-https://www.javaxiu.com/1252.html

安装完成以后当然需要去启动我们的es了,这里启动也是很方便的只需要一行命令即可。如下:文章源自JAVA秀-https://www.javaxiu.com/1252.html

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.5.1

这样es就启动好了。我们可以去检查es是否安装完成,可以输入命令:文章源自JAVA秀-https://www.javaxiu.com/1252.html

curl http://localhost:9200

或者在浏览器中打开http://localhost:9200这个网址,如果能看到以下信息则说明我们的es是已经安装好了的。文章源自JAVA秀-https://www.javaxiu.com/1252.html

{
    "name": "4955b3b38862",
    "cluster_name": "docker-cluster",
    "cluster_uuid": "uVUAIRi9R1WYWuGuYA8XpA",
    "version": {
        "number": "7.5.1",
        "build_flavor": "default",
        "build_type": "docker",
        "build_hash": "3ae9ac9a93c95bd0cdc054951cf95d88e1e18d96",
        "build_date": "2019-12-16T22:57:37.835892Z",
        "build_snapshot": false,
        "lucene_version": "8.3.0",
        "minimum_wire_compatibility_version": "6.8.0",
        "minimum_index_compatibility_version": "6.0.0-beta1"
    },
    "tagline": "You Know, for Search"
}

如果你是在服务器上安装,想要对外访问还必须打开你服务器的9200端口,然后将localhost换成你服务器的ip地址即可。文章源自JAVA秀-https://www.javaxiu.com/1252.html

1.3 修改配置,解决跨域访问问题文章源自JAVA秀-https://www.javaxiu.com/1252.html

首先进入到容器中,然后进入到指定目录修改elasticsearch.yml文件。文章源自JAVA秀-https://www.javaxiu.com/1252.html

docker exec -it elasticsearch /bin/bash
cd /usr/share/elasticsearch/config/
vi elasticsearch.yml

在elasticsearch.yml的文件末尾加上:文章源自JAVA秀-https://www.javaxiu.com/1252.html

http.cors.enabled: true
http.cors.allow-origin: "*"

修改配置后重启容器即可。文章源自JAVA秀-https://www.javaxiu.com/1252.html

docker restart elasticsearch

1.4 安装ik分词器文章源自JAVA秀-https://www.javaxiu.com/1252.html

es自带的分词器对中文分词不是很友好,所以我们下载开源的IK分词器来解决这个问题。首先进入到plugins目录中下载分词器,下载完成后然后解压,再重启es即可。具体步骤如下:文章源自JAVA秀-https://www.javaxiu.com/1252.html

注意:elasticsearch的版本和ik分词器的版本需要保持一致,不然在重启的时候会失败。可以在这查看所有版本,选择合适自己版本的右键复制链接地址即可。点击这里文章源自JAVA秀-https://www.javaxiu.com/1252.html

docker exec -it elasticsearch /bin/bash
cd /usr/share/elasticsearch/plugins/
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.5.1/elasticsearch-analysis-ik-7.5.1.zip
exit
docker restart elasticsearch

然后可以在kibana界面的dev tools中验证是否安装成功;文章源自JAVA秀-https://www.javaxiu.com/1252.html

POST test/_analyze
{
 "analyzer": "ik_max_word",
 "text": "你好,这里是Java秀|卡易铺"
}

不添加"analyzer": "ik_max_word",则是每个字分词,可以在下面kibana安装完成以后尝试一下。文章源自JAVA秀-https://www.javaxiu.com/1252.html

kibana安装

2.1 docker安装kibana文章源自JAVA秀-https://www.javaxiu.com/1252.html

同样适用docker安装kibana命令如下:文章源自JAVA秀-https://www.javaxiu.com/1252.html

docker pull kibana:7.5.1

等待所有镜像下载完成即可。文章源自JAVA秀-https://www.javaxiu.com/1252.html

2.2 启动kibana文章源自JAVA秀-https://www.javaxiu.com/1252.html

安装完成以后需要启动kibana容器,使用--link连接到elasticsearch容器,命令如下:文章源自JAVA秀-https://www.javaxiu.com/1252.html

docker run --name kibana --link=elasticsearch:test -p 5601:5601 -d kibana:7.5.1
docker start kibana

启动以后可以打开浏览器输入http://localhost:5601就可以打开kibana的界面了。文章源自JAVA秀-https://www.javaxiu.com/1252.html

结语

经过以上步骤就安装好了es和kibana,是不是很简单?这就是docker的好用处之一,也是我比较钟爱docker的原因之一。当然docker远不止这些功能,更多Docker安装和使用可以参考我的另一篇文章:Docker使用命令备忘录文章源自JAVA秀-https://www.javaxiu.com/1252.html

继续阅读
速蛙云 - 极致体验,强烈推荐!!!购买套餐就免费送各大视频网站会员!快速稳定、独家福利社、流媒体稳定解锁!速度快,全球上网、视频、游戏加速、独立IP均支持!基础套餐性价比很高!这里不多说,我一直正在使用,推荐购买:https://www.javaxiu.com/59919.html
weinxin
资源分享QQ群
本站是JAVA秀团队的技术分享社区, 会经常分享资源和教程; 分享的时代, 请别再沉默!
沙海
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定