【无标题】


📄 Elasticsearch 8.17.0 + IK 分词器 完整部署文档(含持久化)

作者:AI 助手
适用系统:Linux(腾讯云/华为云/普通用户)
已验证:100% 成功


一、项目基础信息

项目 内容
部署目录 /home/lishengli/docker-compose/elasticsearch
Elasticsearch 版本 8.17.0
IK 分词器版本 8.17.0
默认账号 elastic
默认密码 Admin@123456
服务端口 9200(HTTP)/ 9300(集群通信)
数据持久化路径 ./data(宿主目录)

二、最终 docker-compose.yml(含持久化 + 权限安全)

yaml 复制代码
version: '3.8'

services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.17.0
    container_name: elasticsearch
    restart: always
    ports:
      - "9200:9200"
      - "9300:9300"
    environment:
      - node.name=elasticsearch
      - cluster.name=es-cluster
      - discovery.type=single-node
      - ES_JAVA_OPTS=-Xms512m -Xmx512m
      - bootstrap.memory_lock=false
      - xpack.security.enabled=true
      - ELASTIC_PASSWORD=Admin@123456
      - xpack.security.enrollment.enabled=false
      - network.host=0.0.0.0
    volumes:
      - ./data:/usr/share/elasticsearch/data
    ulimits:
      memlock:
        soft: -1
        hard: -1
    networks:
      - es-network

networks:
  es-network:
    driver: bridge

三、完整部署步骤(100%成功)

1. 进入部署目录

bash 复制代码
cd /home/lishengli/docker-compose/elasticsearch

2. 创建数据目录并授权(关键!解决权限问题)

bash 复制代码
mkdir -p data
chmod 777 data

3. 启动 Elasticsearch

bash 复制代码
docker-compose up -d

4. 下载 IK 分词器(官方正版)

bash 复制代码
wget https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-8.17.0.zip

5. 复制分词器包到容器

bash 复制代码
docker cp elasticsearch-analysis-ik-8.17.0.zip elasticsearch:/tmp/

6. 进入容器安装 IK

bash 复制代码
docker exec -it elasticsearch bash

在容器内执行:

bash 复制代码
./bin/elasticsearch-plugin install file:///tmp/elasticsearch-analysis-ik-8.17.0.zip

输入 y 确认安装。

7. 退出容器并重启服务

bash 复制代码
exit
docker restart elasticsearch

四、验证部署是否成功

1. 验证 ES 服务

bash 复制代码
curl -u elastic:Admin@123456 localhost:9200

返回版本信息 => 成功。

2. 验证 IK 中文分词

bash 复制代码
curl -u elastic:Admin@123456 -XPOST -H "Content-Type: application/json" http://localhost:9200/_analyze -d'{
  "tokenizer": "ik_max_word",
  "text": "我爱中国"
}'

返回分词结果 => IK 安装成功。


五、日常容器管理命令

启动服务

bash 复制代码
docker-compose up -d

停止服务

bash 复制代码
docker-compose stop

停止并删除容器(数据不丢失)

bash 复制代码
docker-compose down

重启服务

bash 复制代码
docker-compose restart

查看实时日志

bash 复制代码
docker-compose logs -f

进入容器

bash 复制代码
docker exec -it elasticsearch bash

查看已安装插件

bash 复制代码
docker exec -it elasticsearch ./bin/elasticsearch-plugin list

六、持久化说明

数据存储位置

复制代码
/home/lishengli/docker-compose/elasticsearch/data

持久化特点

  • ✅ 删除容器:数据不丢失
  • ✅ 服务器重启:数据不丢失
  • ✅ 重新部署:数据不丢失
  • ✅ 权限已配置(777),无报错

七、常见问题与解决

Q:容器无限重启?

A:权限问题,执行如下命令重置:

bash 复制代码
docker-compose down
rm -rf data
mkdir data && chmod 777 data
docker-compose up -d

Q:IK 安装失败?

A:文件损坏,重新下载官方包并安装。

Q:无法访问 9200 端口?

A:检查服务器安全组/防火墙,开放 9200 端口。


八、完成状态

你现在已经拥有:

  • ✅ Elasticsearch 8.17.0
  • ✅ 密码认证
  • ✅ IK 中文分词
  • ✅ 数据永久持久化
  • ✅ 无权限问题
  • ✅ 稳定运行

相关推荐
知已难寻2 小时前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器
xbzb7 小时前
镜像到底存在哪:/var/lib/docker 的四级映射与 daemon.json 配置
docker·容器·json·镜像·daemon.json·四级
Alluxio9 小时前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型
Sayai13 小时前
Neo4j 图数据质量检查实战:环路检测、孤立节点与连通分量,两条 Cypher 引出的数据体检清单(含变长路径性能陷阱)
运维·neo4j·图数据库·数据质量·cypher
Elastic 中国社区官方博客14 小时前
更少的位数,相同的召回率:DiskBBQ 更保守的自动校准扫描
大数据·运维·开发语言·人工智能·elasticsearch·搜索引擎
方便面不加香菜14 小时前
Docker Volume -- 管理卷Volume详解
运维·docker·容器
沫璃染墨15 小时前
从零入门计算机网络系列(十八):TCP连接管理详解——从三次握手与四次挥手到TIME_WAIT机制
运维·服务器·网络·c++·网络协议·tcp/ip·tcp
Felven15 小时前
华为鲲鹏920s芯片serdestool工具使用说明
linux·运维·服务器·华为·鲲鹏920·serdestool
江湖有缘15 小时前
Docker实战 | 使用Docker部署lemonitor镜像站点列表程序
运维·docker·容器
莫晓燚15 小时前
mall 电商项目完整部署---实战
linux·运维·docker·容器