🗂

CentOS7にAirflow2.1.0のインストールから起動まで

2022/07/29に公開

前提条件

docker-composeのインストールが必要

docker関連をインストールしていく

必要なモジュールのインストール

$ yum install -y yum-utils device-mapper-persistent-data lvm2

リポジトリの追加とdockerのインストール

$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
$ yum install -y docker-ce docker-ce-cli containerd.io

dockerの起動

$ systemctl start docker
$ systemctl enable docker

docker-composeのインストール

docker-composeコマンドをダウンロード

$ curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

実行権限の付与

$ chmod +x /usr/local/bin/docker-compose

/usr/bin/docker-composeにシンボリックリンクを張る

$ ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

Airflowのインストール

インストールの準備

$ curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.1.0/docker-compose.yaml'
$ mkdir ./dags ./logs ./plugins
$ echo -e "AIRFLOW_UID=$(id -u)\nAIRFLOW_GID=0" > .env
$ docker-compose up airflow-init

airflow-init実行後、下記のような結果となればOK

airflow-init_1       | Admin user airflow created
airflow-init_1       | 2.1.0
root_airflow-init_1 exited with code 0

Airflowの起動

$ docker-compose up -d
          Name                        Command                       State                         Ports
---------------------------------------------------------------------------------------------------------------------
root_airflow-init_1        /usr/bin/dumb-init -- /ent ...   Up                      8080/tcp
root_airflow-scheduler_1   /usr/bin/dumb-init -- /ent ...   Up (health: starting)   8080/tcp
root_airflow-webserver_1   /usr/bin/dumb-init -- /ent ...   Up (health: starting)   0.0.0.0:8080->8080/tcp,:::8080->8
                                                                                    080/tcp
root_airflow-worker_1      /usr/bin/dumb-init -- /ent ...   Up (health: starting)   8080/tcp
root_flower_1              /usr/bin/dumb-init -- /ent ...   Up (health: starting)   0.0.0.0:5555->5555/tcp,:::5555->5
                                                                                    555/tcp, 8080/tcp
root_postgres_1            docker-entrypoint.sh postgres    Up (healthy)            5432/tcp
root_redis_1               docker-entrypoint.sh redis ...   Up (healthy)            0.0.0.0:6379->6379/tcp,:::6379->6

ブラウザからアクセスしてみる

http://localhost:8080

ユーザ:airflow
パスワード:airflow

メイン画面

Discussion