1. 部署目录结构
/mnt/Apps/docker-compose/es
包含文件:
docker-compose.yml
└── config/elasticsearch.yml
└── es-plugins/
plugins
ik分中文词器
https://release.infinilabs.com/analysis-ik/stable/ 下载7.12.1版本解压后放入plugins
config/elasticsearch.yml
# 集群名称 cluster.name: "docker-cluster" # 绑定所有网络接口 network.host: 0.0.0.0 # 单节点模式(便于开发/测试) discovery.type: single-node # 安全认证开启 xpack.security.enabled: true # 如果不打算启用传输层 SSL,可以关闭 xpack.security.transport.ssl.enabled: true # 可选:HTTP 层使用的端口 http.port: 9200 # 可选:集群初始用户,第一次启动容器时可用 elastic 用户设置密码 # elasticsearch 内置 elastic 用户默认密码可通过命令行生成: # docker exec -it es bin/elasticsearch-setup-passwords auto
es-plugins/
2. docker-compose 配置
进入部署目录:
cd /mnt/Apps/docker-compose/es
version: '3'
services:
es:
container_name: es
image: elasticsearch:7.12.1
restart: always
environment:
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- "discovery.type=single-node"
volumes:
- ${DIR_DATAS}/es/es-data:/usr/share/elasticsearch/data
- ./es/es-plugins:/usr/share/elasticsearch/plugins
- ${DIR_LOGS}/es/es-logs:/usr/share/elasticsearch/logs
- ./es/config:/usr/share/elasticsearch/config
ports:
- "9200:9200"
- "9300:9300"
networks:
- net1
ulimits:
memlock:
soft: -1
hard: -1
privileged: true
kibana:
container_name: kibana
image: kibana:7.12.1
restart: always
depends_on:
- es
environment:
- ELASTICSEARCH_HOSTS=http://es:9200
- ELASTICSEARCH_USERNAME=kibana_system
- ELASTICSEARCH_PASSWORD=************
ports:
- "5601:5601"
networks:
- net1
networks:
net1:
name: docker-compose_net1
启动:
docker-compose up -d
验证 ES 是否正常:
3.Elasticsearch 账号密码初始化(首次部署必须执行)
进入 ES 容器:
docker exec -it es bash
执行随机密码生成命令:
bin/elasticsearch-setup-passwords auto
输出示例(你的密码以实际为准):
Changed password for user apm_system
PASSWORD apm_system = **************
Changed password for user kibana_system
PASSWORD kibana_system = **************
Changed password for user kibana
PASSWORD kibana = **************
Changed password for user logstash_system
PASSWORD logstash_system = **************
Changed password for user beats_system
PASSWORD beats_system = **************
Changed password for user remote_monitoring_user
PASSWORD remote_monitoring_user = **************
Changed password for user elastic
PASSWORD elastic = **************
4. 内置账号用途说明(重要)
| 账号名称 | 用途 |
| elastic | ES 超级管理员(浏览器/Kibana 登录用) |
| kibana_system | Kibana 后台连接 ES 使用 |
| kibana | Kibana Web 登录可用账号 |
| logstash_system | Logstash 使用 |
| beats_system | Beats 使用(FileBeat、MetricBeat) |
| apm_system | APM 使用 |
| remote_monitoring_user | 监控用 |
⚠ Kibana 后台连接必须使用 kibana_system
不能用 elastic,否则 Kibana 无法启动。
5. Kibana 配置(docker-compose 已包含)
Kibana 会自动通过以下环境变量连接 ES:
kibana:
image: kibana:7.12.1
environment:
ELASTICSEARCH_HOSTS: "http://es:9200"
ELASTICSEARCH_USERNAME: "kibana_system"
ELASTICSEARCH_PASSWORD: "<kibana_system生成的密码>"
6.Nacos 配置
spring:
elasticsearch:
uris: http://IP:9200
username: elastic
password: 你的 elastic 密码
connection-timeout: 10000
socket-timeout: 60000
connection-request-timeout: 10000
repositories:
enabled: true
7. 可视化工具(Kibana Console)
http://服务器IP:5601/app/dev_tools#/console
登录账号:
Username: elastic
Password: 你的 elastic 密码
1727

被折叠的 条评论
为什么被折叠?



