目录

环境要求与配置步骤

安装Elasticsearch(高版本支持向量数据库)

安装Kibana(与Elasticsearch版本匹配)

Mac环境注意事项

针对 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环境注意事项

  1. 资源分配:在Docker Desktop中为Elasticsearch分配至少4GB内存,避免因资源不足导致启动失败。
  2. 文件权限:若遇到文件权限问题,需调整Docker容器内Elasticsearch的数据目录权限:
    docker exec -it elasticsearch chown -R elasticsearch:elasticsearch /usr/share/elasticsearch/data
    

  3. 端口冲突:确保本地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 启动后可能需要几分钟才能完全初始化.

     

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐