如何快速入门ansible-playbooks:10分钟搭建Elasticsearch集群的完整指南

📅 2026/7/6 16:12:38 👁️ 阅读次数 📝 编程学习
如何快速入门ansible-playbooks:10分钟搭建Elasticsearch集群的完整指南

如何快速入门ansible-playbooks:10分钟搭建Elasticsearch集群的完整指南

【免费下载链接】ansible-playbooksAnsible playbook collection that have been written for Ubuntu. Some of the playbooks are Elasticsearch, Mesos, AWS, MySql, Sensu, Nginx etc..项目地址: https://gitcode.com/gh_mirrors/an/ansible-playbooks

Ansible-playbooks是一套为Ubuntu系统编写的自动化部署剧本集合,包含Elasticsearch、Mesos、AWS、MySql等多种服务的部署配置。本文将带你快速掌握ansible-playbooks的使用方法,并通过简单几步在10分钟内搭建起一个功能完善的Elasticsearch集群。

准备工作:安装ansible-playbooks

首先需要克隆项目仓库到本地,打开终端执行以下命令:

git clone https://gitcode.com/gh_mirrors/an/ansible-playbooks cd ansible-playbooks

项目结构清晰,主要分为AWS、Azure、MySql、roles等目录,其中Elasticsearch相关的部署文件位于roles/elasticsearch/目录下。

核心步骤:10分钟搭建Elasticsearch集群

1. 配置主机清单

编辑inventory目录下的主机配置文件,定义Elasticsearch集群的节点信息。典型的配置示例如下:

[elasticsearch:children] elasticsearch-master elasticsearch-data [elasticsearch:vars] ht_cluster_name=elasticsearch ht_data_path=/mnt1/elasticsearch-data ht_logs_path=/logs/elasticsearch-logs ht_xms=1g ht_xmx=1g [elasticsearch-master] elasticsearch-master-01 ansible_ssh_host=192.168.33.10 [elasticsearch-data] elasticsearch-data-01 ansible_ssh_host=192.168.33.11 elasticsearch-data-02 ansible_ssh_host=192.168.33.12

2. 执行部署剧本

使用以下命令分别部署Elasticsearch主节点和数据节点:

# 部署主节点 ansible-playbook install-elasticsearch-master.yml # 部署数据节点 ansible-playbook install-elasticsearch-data.yml

3. 验证集群状态

部署完成后,通过以下命令检查集群健康状态:

curl -XGET -H 'Content-Type: application/json' 'http://localhost:9200/_cluster/health?pretty=true'

正常情况下会返回类似以下结果:

{ "cluster_name" : "elasticsearch", "status" : "green", "timed_out" : false, "number_of_nodes" : 3, "number_of_data_nodes" : 2, "active_primary_shards" : 0, "active_shards" : 0, "relocating_shards" : 0, "initializing_shards" : 0, "unassigned_shards" : 0, "delayed_unassigned_shards" : 0, "number_of_pending_tasks" : 0, "number_of_in_flight_fetch" : 0, "task_max_waiting_in_queue_millis" : 0, "active_shards_percent_as_number" : 100.0 }

常用操作:Elasticsearch集群管理

查看集群节点信息

curl -XGET -H 'Content-Type: application/json' 'http://localhost:9200/_cat/nodes?v&h=h,name,uptime,version'

查看所有索引

curl -XGET -H 'Content-Type: application/json' 'http://localhost:9200/_cat/indices?pretty'

集群备份与恢复

创建备份:

curl -XPUT 'http://localhost:9200/_snapshot/elasticsearch-backup/snapshot-1?pretty' -H 'Content-Type: application/json' -d' { "type": "fs", "settings": { "location": "/mnt1/elasticsearch-backup" } }'

恢复备份:

# 先关闭所有索引 curl -XPOST 'http://localhost:9200/_all/_close?pretty' -H 'Content-Type: application/json' # 执行恢复 curl -XPOST 'http://localhost:9200/_snapshot/elasticsearch-backup/snapshot-1/_restore?pretty' -H 'Content-Type: application/json'

总结:ansible-playbooks的优势

使用ansible-playbooks部署Elasticsearch集群具有以下优势:

  • 自动化程度高:无需手动配置每个节点,通过剧本一键完成部署
  • 可重复性强:相同的配置可以在不同环境中重复使用
  • 易于维护:集中管理所有服务的配置,便于后续升级和调整

通过本文介绍的方法,你可以快速上手ansible-playbooks,并在短时间内搭建起稳定高效的Elasticsearch集群。更多高级功能和其他服务的部署方法,可以参考项目中的README.md和各个角色目录下的文档。

【免费下载链接】ansible-playbooksAnsible playbook collection that have been written for Ubuntu. Some of the playbooks are Elasticsearch, Mesos, AWS, MySql, Sensu, Nginx etc..项目地址: https://gitcode.com/gh_mirrors/an/ansible-playbooks

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考