返回

探索 Docker 中 ElasticSearch 8 的 8 大实战

后端





## 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,为您的数据搜索和聚合提供一个可靠、高效的支撑。