探索 Docker 中 ElasticSearch 8 的 8 大实战
2023-09-05 13:55:42
## Docker 赋能 ElasticSearch 8:实战指南
**引言**
随着海量数据的飞速增长,弹性搜索引擎的需求日益攀升。而 ElasticSearch 凭借其出色的可扩展性、灵活性、全面搜索等优势,在数据搜索和聚合领域备受瞩目。结合 Docker 的轻量化、易于部署特性,为 ElasticSearch 的使用提供了更加便捷和高效的途径。
本文旨在为您提供一份全方位的 Docker + ElasticSearch 8 操作指南,涵盖从单机部署到集群管理、Kibana 配置、数据校验等多个实战场景,助您全面掌握 ElasticSearch 的 Docker 部署和管理。
### 场景一:单机部署
**1. 镜像获取**
docker pull docker.elastic.co/elasticsearch/elasticsearch:8
**2. 容器启动**
docker run -p 9200:9200 -p 9300:9300 docker.elastic.co/elasticsearch/elasticsearch:8
**3. Kibana 启动(可选)**
docker pull docker.elastic.co/kibana/kibana:8
docker run -p 5601:5601 docker.elastic.co/kibana/kibana:8
### 场景二:扩容
**1. 扩容新节点**
docker pull docker.elastic.co/elasticsearch/elasticsearch:8
docker run -e "discovery.zen.ping.unicast.host=已有节点 IP" docker.elastic.co/elasticsearch/elasticsearch:8
**2. 加入集群**
登录已有节点并运行:
PUT _cat/master?pretty
复制 "active master" 节点的 IP 地址并运行:
POST _加入集群节点 IP/_join?local=false
### 场景三:集群管理
**1. 查看集群信息**
GET _cat/health?pretty
GET _cat/master?pretty
GET _cat/allocation?pretty
**2. 重新均衡数据**
POST _forceBalancereindex?pretty
**3. 移除节点**
登录 "active master" 节点并运行:
PUT _节点 IP/_leave?local=true
### 场景四:Kibana 配置
**1. 环境变量**
export ELASTICSEARCH_URL=http://elasticsearch:9200
**2. 路由**
kibana.index="日志管理"
**3. 仪表板**
PUT .dashboard
### 场景五:数据校验
**1. 完整性检查**
POST /_analyze?consistency=true
**2. 复制校验**
GET /_cat/allocation?primary_term=1&replica_term=2
**3. 修复数据**
POST /_forcemercy_forceforce
### 场景六:非认证直连
**1. 配置 Elasticsearch**
xpack.security.authc.anonymous.users=kibana_system
**2. 重启容器**
docker stop Elasticsearch && docker start Elasticsearch
**3. Kibana 配置**
xpack.security.authn.username=kibana_system
### 场景七:认证部署
**1. 证书生成**
docker run -v certs/certs-dir/ca.pem:ca.pem -v certs/certs-dir/certs:certs -v certs/certs-dir/pki:pki -it docker.elastic.co/elasticsearch/elasticsearch-certutil:8
**2. 配置 Elasticsearch**
xpack.security.secure_connect_and_authenticate_users
**3. 重启容器**
docker stop Elasticsearch && docker start Elasticsearch
**4. Kibana 配置**
xpack.security.authn.elastic
### 结论
本指南详细阐述了在 Docker 环境下部署和管理 ElasticSearch 8 的多种实战场景,涵盖单机部署、扩容、集群管理、Kibana 配置、数据校验、非认证直连、认证部署等各方面的最佳实用指南。掌握这些技巧,您将能熟练运用 Docker 技术,高效地部署和使用 ElasticSearch 8,为您的数据搜索和聚合提供一个可靠、高效的支撑。