docker-compose安装es,elasticsearch-head,分词器

1、添加docker-compose.yml文件

version: '3.1'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.9.3
    container_name: elasticsearch
    environment:
      - "discovery.type=single-node"
      - "bootstrap.memory_lock=true"
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    volumes:
      - ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - ./data:/usr/share/elasticsearch/data 
      - ./plugins:/usr/share/elasticsearch/plugins
    ulimits:
      memlock:
        soft: -1
        hard: -1
    ports:
      - 9200:9200
      - 9300:9300
    #restart: always
    networks:
      - bq_pro
  kibana:
    image: docker.elastic.co/kibana/kibana:7.9.3
    container_name: kibana
    depends_on:
      - elasticsearch
    volumes:
      - ./kibana.yml:/usr/share/kibana/config/kibana.yml
    environment:
      - "ELASTICSEARCH_URL=http://elasticsearch:9200"
      - "I18N_LOCALE=zh-CN"
    ports:
      - 5601:5601
    #restart: always
    networks:
      - bq_pro
networks:
  bq_pro:
    external: true

2、添加elasticsearch.yml文件

# 设置集群名称为elasticsearch
cluster.name: "docker-cluster"
# 网络访问限制
network.host: 0.0.0.0

#----------------------- BEGIN SECURITY AUTO CONFIGURATION -----------------------
#
# The following settings, TLS certificates, and keys have been automatically
# generated to configure Elasticsearch security features on 18-01-2024 05:45:35
#
# --------------------------------------------------------------------------------

# 集群节点名称
#node.name: "elastic01"

# 以单一节点模式启动
discovery.type: single-node

# 是否支持跨域
http.cors.enabled: true

# 表示支持所有域名
http.cors.allow-origin: "*"

# 内存交换的选项,官网建议为true
bootstrap.memory_lock: true

# Enable security features
xpack.security.enabled: false

xpack.security.enrollment.enabled: false

# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
enabled: false
keystore.path: certs/http.p12

# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
enabled: false
verification_mode: certificate
keystore.path: certs/transport.p12
truststore.path: certs/transport.p12
#----------------------- END SECURITY AUTO CONFIGURATION -------------------------

 3、添加kibana.yml文件

#内容如下:
server.name: kibana
# kibana的主机地址 0.0.0.0可表示监听所有IP
server.host: "0.0.0.0"
# kibana访问es的URL
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
elasticsearch.username: 'elastic'
elasticsearch.password: 'java@2023#'
# 显示登陆页面
xpack.monitoring.ui.container.elasticsearch.enabled: true
# 语言
i18n.locale: "zh-CN"

设置密码

进入到elasticsearch容器执行:

#进入到容器
docker exec -it elasticsearch bash
#到bin目录
cd /usr/share/elasticsearch/bin
#设置密码
elasticsearch-setup-passwords interactive
# 输入y 然后依次设置密码即可

# 重置 elastic 用户密码
docker exec -it elasticsearch-8.8.1 /usr/share/elasticsearch/bin/elasticsearch-reset-password -uelastic
# 重置 kibana_system 用户密码
docker exec -it elasticsearch-8.8.1 /usr/share/elasticsearch/bin/elasticsearch-reset-password -ukibana_system


 

 

 

 

4、安装IK分词器
下载地址:medcl/elasticsearch-analysis-ik: The IK Analysis plugin integrates Lucene IK analyzer into elasticsearch, support customized dictionary. (github.com)

 

cd /data/docker/es/elasticsearch/plugins
mkdir ik
unzip elasticsearch-analysis-ik-7.9.3.zip
chmod -R 777 /data/docker/es/elasticsearch/plugins/ik

 

进入到elasticsearch容器查看插件

docker exec -it elasticsearch bash
cd bin
elasticsearch-plugin list

 

安装elasticsearch-head

version: '3'
services:
  es-head:
    image: tobias74/elasticsearch-head:6
    container_name: es-head
    ports:
      - "9100:9100"

 

 docker-compose一键安装elasticsearch和kibana - 简书 (jianshu.com)

 

测试

posted @ 2024-01-17 17:54  扰扰  阅读(157)  评论(0编辑  收藏  举报