docker-compose安装ElasticSearch,ik分词器插件,kibana【超详细】

发布于:2025-08-13 ⋅ 阅读:(17) ⋅ 点赞:(0)

1. 准备工作

确保你已经安装好了docker,docker-compose

2. 安装过程

  1. 创建docker-compose配置文件docker-compose-es-kibana-new.yml,确保yml格式,文件名称可任意修改,根据硬件配置修改参数"ES_JAVA_OPTS=-Xms512m -Xmx512m"
version: '3'
services:
  # Elasticsearch服务
  elasticsearch:
    image: elasticsearch:7.17.10
    container_name: elasticsearch
    environment:
      - discovery.type=single-node
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - bootstrap.memory_lock=true
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./elasticsearch/data:/usr/share/elasticsearch/data
      - ./elasticsearch/plugins:/usr/share/elasticsearch/plugins
      - ./elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
    ports:
      - 9200:9200
      - 9300:9300
    networks:
      - elastic-net
    restart: always

  # Kibana服务
  kibana:
    image: kibana:7.17.10
    container_name: kibana
    environment:
      - ELASTICSEARCH_HOSTS=http://elasticsearch:9200
    ports:
      - 5601:5601
    depends_on:
      - elasticsearch
    networks:
      - elastic-net
    restart: always

networks:
  elastic-net:
    driver: bridge
  1. 创建配置目录和配置文件
# 创建配置目录
mkdir elastic
cd elastic
# 创建docker挂载目录
mkdir -p elasticsearch/config
mkdir -p elasticsearch/data
mkdir -p elasticsearch/plugins
# 创建配置文件
cd elasticsearch/config/
vim elasticsearch.yml

2.1 配置文件内容

cluster.name: "docker-cluster"  # 集群名称,单节点时随意设置,但要唯一
network.host: 0.0.0.0  # 监听所有 IP 地址,允许外部访问

# 允许跨域访问(CORS),如果你的应用需要从浏览器直接访问 ES
http.cors.enabled: true
http.cors.allow-origin: "*"
#
# # X-Pack 配置(Elasticsearch 的扩展功能)
xpack.license.self_generated.type: basic  # 使用基本许可证(免费版)
xpack.security.enabled: false  # 禁用安全功能(生产环境建议启用并配置密码)
xpack.monitoring.collection.enabled: true  # 启用监控数据收集

3. 安装ik分词器

  1. 浏览器访问 https://get.infini.cloud/elasticsearch/analysis-ik/7.17.10,下载后需要修改文件名,添加zip文件类型后缀,便于后续解压。
  2. 如果下载不成功,请参考github官网 https://github.com/infinilabs/analysis-ik/releases/,可能是下载的url发生了变化。
  3. 将分词插件压缩包上传到Linux系统中的elastic/elasticsearch/plugins路径下,该目录在第二步安装过程中已经创建,执行解压缩到ik目录下,并删除安装包。
unzip 7.17.10.zip  -d ik/
rm 7.17.10.zip

4. 启动容器

  1. 将docker-compose-es-kibana-new.yml上传至Linux系统中的elastic目录下,该目录在第2步中已创建,和elasticsearch目录平级
  2. 授予挂载目录data,config,plugins目录权限777
  3. 启动容器
docker-compose -f docker-compose-es-kibana-new.yml up -d
# 查看结果
docker ps
# 查看日志
docker-compose -f docker-compose-es-kibana-new.yml logs elasticsearch

5. 测试

  1. 验证Elasticsearch是否安装成功, 访问 http://你的服务器ip:9200 ,浏览器中显示Elasticsearch的基本信息。
  2. 验证Kibana是否安装成功, 访问 http://你的服务器ip:5601 ,显示Kibana页面。
  3. 验证分词器插件是否安装成功,Linux控制台中输入curl -X POST “localhost:9200/_analyze” -H “Content-Type: application/json” -d’{“analyzer”: “ik_smart”, “text”: “今天的天气真好”}’

结果显示:

{"tokens":[{"token":"今天","start_offset":0,"end_offset":2,"type":"CN_WORD","position":0},{"token":"的","start_offset":2,"end_offset":3,"type":"CN_CHAR","position":1},{"token":"天气","start_offset":3,"end_offset":5,"type":"CN_WORD","position":2},{"token":"真好","start_offset":5,"end_offset":7,"type":"CN_WORD","position":3}]}

网站公告

今日签到

点亮在社区的每一天
去签到