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