window环境下docker部署elasticsearch单机
一、部署elasticsearch单机
拉取elasticsearch
的镜像,我拉取的是8.6.0版本的
docker pull elasticsearch:8.6.0
创建三个文件夹config
、data
和plugins
用于挂载路径,如下图:
用镜像自带的elasticsearch.yml
文件,因为xpack.security.http.ssl
为true
开启了ssl
认证,访问http://localhost:9200/
会访问不到,可以改为false
或者在config
文件夹中创建文件elasticsearch.yml
,并增加以下配置
# 集群名 cluster.name: docker-cluster # 节点名 node.name: node # 监听ip network.host: 0.0.0.0 # 开启x-pack插件,用于添加账号密码,改为false可以免登录 xpack.security.enabled: true
执行以下代码生成容器,挂载之前创建的文件夹
ES_JAVA_OPTS
设置了ES的启动内存,不设置会拉爆
discovery.type=single-node
表示该es为单节点,不加这个的话,你的ES健康状态会显示为黄色
restart=always表示开机自启动
docker run -d --name elasticsearch -v E:\elasticsearch\config\elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v E:\elasticsearch\plugins:/usr/share/elasticsearch/plugins -v E:\elasticsearch\data:/usr/share/elasticsearch/data -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 --restart=always elasticsearch:8.6.0
进入elasticsearch
容器内部设置密码,要输入多次给多个系统添加密码,默认用户名elastic
docker exec -it elasticsearch bash elasticsearch-setup-passwords interactive
然后访问http://localhost:9200/
,需要账号密码就输入一下,看到一下界面表示启动成功了
二、安装中文分词ik
进入容器内部,安装ik中文分词版本必须和es的版本一样否则安装报错,如果用不到中文分词就不用安装,进入容器执行如下语句,看到如下结果表示安装完成
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.6.0/elasticsearch-analysis-ik-8.6.0.zip
三、安装Kibana
Kibana 是一款免费且开放的前端应用程序,其基础是 Elastic Stack
,可以为 Elasticsearch 中索引的数据提供搜索和数据可视化功能。尽管人们通常将 Kibana
视作 Elastic Stack
(之前称作 ELK Stack,分别表示 Elasticsearch、Logstash 和 Kibana)的制图工具,但也可将 Kibana
作为用户界面来监测和管理 Elastic Stack
集群并确保集群安全性,还可将其作为基于 Elastic Stack
所开发内置解决方案的汇集中心。
我们先拉下kibana的镜像
docker pull kibana:8.6.0
创建kibana.yml
文件如下elasticsearch.username
和elasticsearch.password
使用上文es配置的xpack.security.http.ssl
为true
时的密码,账号是默认账号,如果是false
则不需要。elasticsearch.hosts
配置为es的宿主主机的地址。
server.host: "0.0.0.0" server.shutdownTimeout: "5s" elasticsearch.hosts: [ "http://10.10.1.61:9200" ] monitoring.ui.container.elasticsearch.enabled: true elasticsearch.username: "kibana" elasticsearch.password: "123456"
然后创建容器将配置文件kibana.yml
挂载
docker run -d --name kibana -v E:\elasticsearch\kibana\config\kibana.yml:/usr/share/kibana/config/kibana.yml -p 5601:5601 kibana:8.6.0
稍等片刻,我们访问http://localhost:5601/
会出现如下的登录页面,这时候我们输入es的账号密码,我这里是elastic
和123456
,就可以登陆了