使用ansible 部署es集群,集群中有五台机器 安装包在 管理主机上 请给出代码示并注释
时间: 2024-05-08 21:18:10 浏览: 9
好的,以下是使用 Ansible 部署 ES 集群的示例代码,并注释说明:
```yaml
# 定义主机组,包含 5 台机器的 IP 地址
[es_cluster]
192.168.1.100
192.168.1.101
192.168.1.102
192.168.1.103
192.168.1.104
# 定义变量,存储 ES 安装包的路径
es_package_path: /path/to/es/package.zip
# 定义任务,安装 JDK,创建 ES 用户和目录,解压安装包,并修改配置文件
- name: Install Elasticsearch
hosts: es_cluster
become: true
tasks:
- name: Install JDK
apt:
name: openjdk-8-jdk
state: present
- name: Create ES User and Directories
file:
path: /opt/elasticsearch
state: directory
owner: elasticsearch
group: elasticsearch
mode: '0755'
become: true
become_user: root
- name: Copy ES Package to Hosts
copy:
src: "{{ es_package_path }}"
dest: /tmp/elasticsearch.zip
become: true
become_user: root
- name: Unzip ES Package
unarchive:
src: /tmp/elasticsearch.zip
dest: /opt/elasticsearch
remote_src: true
become: true
become_user: elasticsearch
- name: Configure Elasticsearch
lineinfile:
path: /opt/elasticsearch/config/elasticsearch.yml
regexp: '^#cluster.name:'
line: 'cluster.name: my_cluster'
become: true
become_user: elasticsearch
```
希望这个示例对你有所帮助。如果你对 Ansible 的使用还有疑问,欢迎继续提问。