elasticSearch及KibanaDocker安装
最近因为工作需要又一次用到elasticsearch,由于elasticsearch中的内容较为复杂,并且一直没有机会进行系统性的学习,所以,趁着摸鱼,准备通过docker搭建elasticsearch 以及Kibana。
docker镜像选择
最新的es镜像在哪里
安装前,简单在网上看了一些教程,基本上拉取镜像的过程都是直接略过,或者简单提到 docker pull elasticsearch,但是在我实际拉取过程中,发现拉取速度极慢,且尝试多次,都以失败告终,起初以为是个网络原因,docker-hub访问慢,所以配置了阿里和网易的镜像源进行尝试,发现依然没有解决问题。最终产看elastic 官网,发现elastic的镜像并没有在dockerhub上托管,而是在elastic自己的仓库。
elasticsearch | Docker @ Elastic
从官方提供的地址下载,可以较快的把镜像下来。并且供选择的版本也很全面。
配置docker 映射目录及docker脚本
- 使用docker启动elasticsearch 需要 创建映射的目录(方便后期修改配置文件,安装插件等等)。这里我创建了三个目录,分别为
1 | |
在创建完目录后,需要在config文件夹中添加配置文件elasticsearch.yml(这个配置文件仅限测试使用,因为没有添加密码相关的验证)
1
2
3
4
5http.cors.enabled: true
http.cors.allow-origin: "*"
http.host: 0.0.0.0
xpack.security.enabled: falsedocker启动命令
在进行到这一步的时候,基本上就没有什么坑了,可以通过常规的docker run进行启动了。
1
docker run --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms84m -Xmx512m" -v /dockerdata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /dockerdata/elasticsearch/data:/usr/share/elasticsearch/data -v /dockerdata/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d docker.elastic.co/elasticsearch/elasticsearch:8.8.1-amd64这里需要注意的是,目录的映射以及elasticsearch镜像的名称。
然后可以通过docker logs -f 容器id查看启动的情况了。
启动测试
通过浏览器访问127.0.0.1:9200,能够看到es的配置文件,则表示elasticsearch启动成功。
安装Kibana
Kibana的安装较为简单,需要主要的是,kibana的版本需要和elasticsearch的版本保持一致,es的版本我选择的是8.8.1,依然通过elastic官网提供的docker镜像进行下载即可。
启动命令
kibana的安装过程没有完全按照官网的教程,对一些过程进行了化简。
首先通过 docker inspect es 命令,查看es的详细信息,这里主要是为了看到es的ip。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "58f9093734c66242089d49d7dc60ddbb427a8df9eb92ebb13c871c6073bd17f6",
"EndpointID": "c7a5ea6c0d42ee538c571ac3506c56530f08e8bf884605295515e1c4bbbded42",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.3",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:11:00:03",
"DriverOpts": null
}
}
}
}其中,IPAddress对应的值,就是es的ip,后续在kibana的启动命令中需要用到。
启动脚本
docker run --name kibana -p 5601:5601 -e ELASTICSEARCH_HOSTS=http://172.17.0.3:9200 -d kibana:8.8.1这里 hosts的地址,就是刚才的IPAddress对应的es地址。一开始想着在同一个机器上进行安装,可以通过127.0.0.1:9200进行连接,发现无法连接到es,导致kibana最终启动失败。