安装Airflow可以使用Ansible自动化工具,以下是一个示例的Ansible Playbook来安装Airflow:
---
- name: Install Airflow
hosts: all
become: yes
vars:
airflow_version: "2.1.0"
airflow_home: "/opt/airflow"
tasks:
- name: Install Python pip
apt:
name: python3-pip
state: present
- name: Install Airflow dependencies
apt:
name: "{{ item }}"
state: present
with_items:
- build-essential
- libssl-dev
- libffi-dev
- python3-dev
- python3-venv
- name: Create Airflow virtual environment
command: python3 -m venv "{{ airflow_home }}"
- name: Activate Airflow virtual environment
command: source "{{ airflow_home }}/bin/activate"
- name: Upgrade pip
pip:
name: pip
state: latest
virtualenv: "{{ airflow_home }}"
- name: Install Airflow
pip:
name: apache-airflow=={{ airflow_version }}
virtualenv: "{{ airflow_home }}"
- name: Initialize Airflow
command: airflow db init
environment:
AIRFLOW_HOME: "{{ airflow_home }}"
- name: Start Airflow scheduler
command: airflow scheduler -D
environment:
AIRFLOW_HOME: "{{ airflow_home }}"
- name: Start Airflow webserver
command: airflow webserver -D
environment:
AIRFLOW_HOME: "{{ airflow_home }}"
这个Ansible Playbook会在所有主机上安装Airflow。你可以将上述代码保存为一个YAML文件,比如install_airflow.yaml
。
然后,可以使用以下命令运行该Playbook:
ansible-playbook install_airflow.yaml
请注意,上述代码假设你已经安装了Ansible,并且具有适当的权限来在目标主机上安装软件包和执行命令。