ElasticSearch 本地环境搭建
准备环境
如果 docker 容器没有 vi 命令,可以自行安装:
docker exec -it --user="root" es /bin/bash |
因为需要部署 kibana 容器,让 es和 kibana 容器互联,所以需要创建网络。
docker network create es-net |
以安装 Elasticsearch 8.11.4 版本为例:
docker pull elasticsearch:8.11。4 |
接下来创建挂载点目录:
mkdir -p ~/apps/es/data ~/apps/es/config ~/apps/es/plugins |
部署单点es,创建es容器
执行以下命令:
docker run -d \ |
然后需要编写 elasticsearch.yml 更改相关配置。进入 es 容器跳转到 config 目录下关闭密码安全验证
docker exec -it es /bin/bash |
注意:es 8.0 以上默认开启了 ssl 认证
直接访问 http://127.0.0.1:9200 是无法访问的,需要通过 https 访问或者关闭 SSL认证。
自 Elasticsearch 7.8.0 版本开始,Elasticsearch 不再提供默认的用户名和密码。相反,它采用了内置安全特性,并引入了超级用户(superuser)角色和内置用户(built-in users)概念来管理访问控制。
在新安装的情况下,您需要设置一个初始的内置用户以及相关的登录凭据。以下是一个示例:
docker exec -it es /bin/bash执行创建用户命令:
bin/elasticsearch-users useradd Demo角色授权:
bin/elasticsearch-users roles -a superuser Demo
bin/elasticsearch-users roles -a kibana_system DemoKibana登录的时候就使用 Demo 的账号和密码进行登录就可以了
这里我们可以直接关闭安全验证。进入容器:
docker exec -it es /bin/bash |
找到配置文件路径 打开 elasticsearch.yml 文件 找到 xpack.security.enabled: true
改为 xpack.security.enabled: false
这样就可以直接使用 http 访问,并且不需要账号密码鉴权。这个设置看个人情况,如果是生产环境建议开始开启 https和账号密码鉴权。
最后重启容器:
docker restart es |
再访问 http://127.0.0.1:9200 即可
搭建 Kibana
首先拉取镜像:
docker pull kibana:8.11.4 |
然后创建挂载目录:
mkdir -p ~/apps/kibana/config ~/apps/kibana/data |
部署 kibana,创建 kibana 容器:
docker run -d \ |
接下来测试Kibana是否安装成功。访问容器 IP 地址 + 端口号,前面配置 Kibana 的端口号是 5601。
http://localhost:5601 |