🗂
CentOS7にAirflow2.1.0のインストールから起動まで
前提条件
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
ブラウザからアクセスしてみる
ユーザ:airflow
パスワード:airflow
Discussion