Java整合SpringAI-应用开发01
本文介绍了Elasticsearch和Kibana的环境配置步骤。主要内容包括:1) 基础环境要求(Docker、Java JDK17、Spring Boot3.5.5);2) Elasticsearch高版本安装及向量数据库支持;3) Kibana匹配版本安装;4) Mac环境特殊配置注意事项;5) Docker Compose完整配置方案及常见问题处理。重点说明了资源分配、文件权限、端口冲突等
目录
针对 Elasticsearch 和 Kibana 的 Docker Compose 配置及常见问题处理
环境要求与配置步骤
Docker、Java JDK 17、Spring Boot 3.5.5
确保Docker已安装并运行。通过以下命令检查Docker版本:
docker --version
安装Java JDK 17,推荐使用Homebrew:
brew install openjdk@17
配置环境变量,将JDK 17路径添加到~/.zshrc或~/.bash_profile:
export JAVA_HOME=/usr/local/opt/openjdk@17
export PATH=$JAVA_HOME/bin:$PATH
验证Java版本:
java -version
Spring Boot 3.5.5可通过Maven或Gradle创建项目时指定版本,或直接使用Spring Initializr生成。
安装Elasticsearch(高版本支持向量数据库)
拉取最新版Elasticsearch镜像(如8.x):
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.12.0
启动单节点集群:
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "xpack.security.enabled=false" docker.elastic.co/elasticsearch/elasticsearch:8.12.0
验证运行状态:
curl -X GET "http://localhost:9200/"
如需启用向量搜索功能,需在Elasticsearch配置中明确启用相关插件或功能模块。
安装Kibana(与Elasticsearch版本匹配)
拉取对应版本的Kibana镜像:
docker pull docker.elastic.co/kibana/kibana:8.12.0
启动Kibana并连接Elasticsearch:
docker run -d --name kibana --link elasticsearch -p 5601:5601 docker.elastic.co/kibana/kibana:8.12.0
访问Kibana界面:
http://localhost:5601
确保Kibana成功连接到Elasticsearch,可通过Dev Tools控制台验证。
Mac环境注意事项
- 资源分配:在Docker Desktop中为Elasticsearch分配至少4GB内存,避免因资源不足导致启动失败。
- 文件权限:若遇到文件权限问题,需调整Docker容器内Elasticsearch的数据目录权限:
docker exec -it elasticsearch chown -R elasticsearch:elasticsearch /usr/share/elasticsearch/data - 端口冲突:确保本地9200(Elasticsearch)和5601(Kibana)端口未被占用。
针对 Elasticsearch 和 Kibana 的 Docker Compose 配置及常见问题处理
以下内容提供了完整的 Docker Compose 配置方案,以及针对 macOS 系统可能遇到的问题的解决方案。
Docker Compose 文件配置
version: '3.8'
services:
elasticsearch:
image: elasticsearch:9.2.2
container_name: elasticsearch
environment:
- node.name=elasticsearch
- cluster.name=es-docker-cluster
- discovery.type=single-node
- ES_JAVA_OPTS=-Xms512m -Xmx512m
- xpack.security.enabled=true
- ELASTIC_PASSWORD=elastic
- xpack.security.http.ssl.enabled=false
volumes:
- /Users/it2025/elasticsearch/data:/usr/share/elasticsearch/data
- /Users/it2025/elasticsearch/plugins:/usr/share/elasticsearch/plugins
ports:
- "9200:9200"
networks:
- es-net
privileged: true
kibana:
image: kibana:9.2.2
container_name: kibana
environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200
- ELASTICSEARCH_USERNAME=kibana_system
- ELASTICSEARCH_PASSWORD=elastic
ports:
- "5601:5601"
networks:
- es-net
depends_on:
- elasticsearch
networks:
es-net:
driver: bridge
常用操作命令
启动所有服务
docker-compose up -d
查看 Kibana 日志
docker-compose logs -f kibana
停止服务
docker-compose down
针对 macOS 的 Elasticsearch 问题处理
删除本地 Elasticsearch 数据目录
rm -rf /Users/it2025/elasticsearch/data/*
重置 Elasticsearch 权限(适用于 macOS 文件系统权限问题)
sudo chown -R 1000:1000 /Users/it2025/elasticsearch/data
注意事项
- 确保 Docker 已正确安装并运行在 macOS 系统上
- 首次启动可能需要较长时间下载镜像
- 如果遇到内存不足问题,可以调整
ES_JAVA_OPTS参数中的内存设置 - Kibana 启动后可能需要几分钟才能完全初始化.
更多推荐


所有评论(0)