acautomaton
acautomaton
Published on 2025-02-23 / 34 Visits
0
0

docker-compose 部署 ElasticSearch / Kibana 8.17.2

ElasticSearch 与 Kibana 的版本对应关系:https://www.elastic.co/cn/support/matrix#matrix_compatibility

docker-compose.yml

services:
  elasticsearch:
    container_name: elastic_search_container
    image: elasticsearch:8.17.2
    restart: on-failure:3
    environment:
      - "ES_JAVA_OPTS=-Xms1024m -Xmx1024m"
      - "TZ=Asia/Shanghai"
      - "discovery.type=single-node"
      # ElasticSearch 的密码,默认账号是 elastic
      - "ELASTIC_PASSWORD=123456"
      # 关闭https证书校验,只对内网开放所以懒得配SSL证书
      - "xpack.security.enabled=false"
    ports:
      - "9200:9200"
      - "9300:9300"
    volumes:
      # 配置都在 docker-compose 中进行,这里就不映射配置文件了,有需要可以映射出来
      # - ./elastic_search/config:/usr/share/elasticsearch/config
      - ./elastic_search/data:/usr/share/elasticsearch/data
      - ./elastic_search/plugins:/usr/share/elasticsearch/plugins
    networks:
      - elastic_net
  kibana:
    container_name: kibana_container
    image: kibana:8.17.2
    restart: on-failure:3
    environment:
      - "TZ=Asia/Shanghai"
      - "I18N_LOCALE=zh-CN"
      # 配置了 ElasticSearch 和 Kibana 在同一个虚拟网络中,可以直接使用 elasticsearch 访问
      - "ELASTICSEARCH_HOSTS=http://elasticsearch:9200"
      # Kibana 的用户名
      - "ELASTICSEARCH_USERNAME=root"
      # Kibana 的密码  
      - "ELASTICSEARCH_PASSWORD=123456"
      # 关闭 SSL 校验
      - "ELASTICSEARCH_SSL_VERIFICATIONMODE=none"
    ports:
      - "5601:5601"
    # 配置都在 docker-compose 中进行,这里就不映射配置文件了,有需要可以映射出来
    # volumes:
    #   - ./kibana/config:/usr/share/kibana/config
    networks:
      - elastic_net
    depends_on:
      - elasticsearch
networks:
  elastic_net:
    driver: bridge

启动容器

docker compose up -d

进入 Elastic Search 容器,配置账号供 Kibana 使用

Elastic Search 不允许使用默认账号进行外部连接

docker exec -it elastic_search_container /bin/bash

#创建新账户
elasticsearch-users useradd root

#给账户授权
elasticsearch-users roles -a superuser root
elasticsearch-users roles -a kibana_system root

安装 IK 分词器

IK 分词器仓库:https://release.infinilabs.com/analysis-ik/stable/

docker exec -it elastic_search_container /bin/bash

#在线安装
./bin/elasticsearch-plugin install https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-8.17.2.zip

#或者通过本地安装
./bin/elasticsearch-plugin install  /YOUR_PATH/elasticsearch-analysis-ik-8.17.2.zip

注意!安装时不会自动导入配置文件,需要手动把压缩包内的文件夹 /config 复制到 /usr/share/elasticsearch/plugins/analysis-ik/

重启容器,完成安装

docker restart elastic_search_container 

参考文档

https://www.elastic.co/guide/en/elasticsearch/reference/current/index.htmlhttps://github.com/infinilabs/analysis-ik/blob/master/README.mdhttps://www.cnblogs.com/allay/p/18153544


Comment