Docker快速单点部署Elasticsearch

发布于:2025-07-09 ⋅ 阅读:(12) ⋅ 点赞:(0)

x86架构

docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/elasticsearch:8.17.4

arm架构

docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/linux_arm64_elasticsearch:8.17.4
3、elasticsearch安装
mkdir -p /data/elasticsearch/{data,logs} 
chmod 777 /data/elasticsearch/data
chmod 777 /data/elasticsearch/logs
cat >> /etc/sysctl.conf << EOF
vm.max_map_count=262144
EOF
sysctl -p

elasticsearch启动

docker run -d \
--restart unless-stopped \
--name elasticsearch\
--hostname elasticsearch\
-e "ES_JAVA_OPTS=-Xms1024m -Xmx1024m" \
-e "discovery.type=single-node" \
-p 9200:9200 \
-v /data/elasticsearch/logs:/usr/share/elasticsearch/logs \
-v /data/elasticsearch/data:/usr/share/elasticsearch/data \
-v /etc/localtime:/etc/localtime \
registry.cn-hangzhou.aliyuncs.com/qiluo-images/elasticsearch:8.17.4

创建用户密码:elasticsearch

docker exec -it  elasticsearch bash
/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic -i

4、访问elasticsearch
浏览器访问: https://172.16.17.130:9200/
账号:elastic
密码:elasticsearch

5.集群与索引管理
查看集群健康状态

curl -k -u elastic:elasticsearch -X GET "https://localhost:9200/_cat/health?v"

6.创建索引

curl -k -u elastic:elasticsearch -X PUT "https://localhost:9200/test_index?pretty"

7.查看所有索引

curl -k -u elastic:elasticsearch -X GET "https://localhost:9200/_cat/indices?v"

8.删除索引

curl -k -u elastic:elasticsearch -X DELETE "https://localhost:9200/test_index?pretty"

docker-compose 部署

#1.下载docker-compose文件

curl -L "https://github.com/docker/compose/releases/download/v2.29.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

#2.给他一个执行权限

chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

#查看是否安装成功

docker-compose --version

3、创建数据目录

mkdir -p /data/elasticsearch/es{01,02,03}/{data,logs} 
chown -R 1000:1000 /data/elasticsearch/es01
chown -R 1000:1000 /data/elasticsearch/es02
chown -R 1000:1000 /data/elasticsearch/es03

4、docker-compose.yml文件编写

sudo tee /data/elasticsearch/docker-compose.yml <<-'EOF'
version: '2.2'
services:
  es01:
    image: registry.cn-hangzhou.aliyuncs.com/qiluo-images/elasticsearch:8.17.4
    container_name: es01
    environment:
      - node.name=es01
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es02,es03
      - cluster.initial_master_nodes=es01,es02,es03
      # 关键修改:使用新的 GC 日志格式
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m -Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utc,level,tags:filecount=32,filesize=64m"
      - bootstrap.memory_lock=true
      - xpack.security.enabled=false
    volumes:
      - /data/elasticsearch/es01/logs:/usr/share/elasticsearch/logs
      - /data/elasticsearch/es01/data:/usr/share/elasticsearch/data
      - /etc/localtime:/etc/localtime
    ports:
      - 9200:9200
    ulimits:
      memlock:
        soft: -1
        hard: -1
    networks:
      - elastic
  es02:
    image: registry.cn-hangzhou.aliyuncs.com/qiluo-images/elasticsearch:8.17.4
    container_name: es02
    environment:
      - node.name=es02
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es03
      - cluster.initial_master_nodes=es01,es02,es03
      # 关键修改:使用新的 GC 日志格式
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m -Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utc,level,tags:filecount=32,filesize=64m"
      - bootstrap.memory_lock=true
      - xpack.security.enabled=false
    volumes:
      - /data/elasticsearch/es02/logs:/usr/share/elasticsearch/logs
      - /data/elasticsearch/es02/data:/usr/share/elasticsearch/data
      - /etc/localtime:/etc/localtime
    ports:
      - 9201:9200
    ulimits:
      memlock:
        soft: -1
        hard: -1
    networks:
      - elastic
  es03:
    image: registry.cn-hangzhou.aliyuncs.com/qiluo-images/elasticsearch:8.17.4
    container_name: es03
    environment:
      - node.name=es03
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es02
      - cluster.initial_master_nodes=es01,es02,es03
      # 关键修改:使用新的 GC 日志格式
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m -Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utc,level,tags:filecount=32,filesize=64m"
      - bootstrap.memory_lock=true
      - xpack.security.enabled=false
    volumes:
      - /data/elasticsearch/es03/logs:/usr/share/elasticsearch/logs
      - /data/elasticsearch/es03/data:/usr/share/elasticsearch/data
      - /etc/localtime:/etc/localtime
    ports:
      - 9202:9200
    ulimits:
      memlock:
        soft: -1
        hard: -1
    networks:
      - elastic
networks:
  elastic:
    driver: bridge
EOF

5、elasticsearch安装

cat >> /etc/sysctl.conf << EOF
vm.max_map_count=262144
EOF

sysctl -p

elasticsearch启动

cd /data/elasticsearch
docker-compose up -d
docker-compose ps

在这里插入图片描述


网站公告

今日签到

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