やっと動いたのでメモ。
OS は Ubuntu Server 20.04 LTS に入れ替え済み。
何も考えずに Airflow の公式ドキュメントのとおりにインストールしたら、やれ pendulum がインストール出来ないやら pyarrow は PEP-517 がどうだのこうだのと言われてインストールがコケる。
PyYAML はもうインストールされてるから進めないとかいうエラーもあったな。
全部メモってない。
で、最終的にやった事はこちら。
libffi.so.6
libffi.so.6 が見つからないとか怒られるので libffi.so.7 のシンボリックリンク貼る。
sudo ln -s /usr/lib/aarch64-linux-gnu/libffi.so.7 /usr/lib/aarch64-linux-gnu/libffi.so.6
依存ツールのインストール
公式ドキュメントに書いてあったものと、ググった結果必要だったものをインストール。
sudo apt install -y --no-install-recommends \
freetds-bin \
krb5-user \
ldap-utils \
libsasl2-2 \
libsasl2-modules \
libssl1.1 \
locales \
lsb-release \
sasl2-bin \
sqlite3 \
unixodbc \
python3 \
python3-pip \
python-dev \
libatlas-base-dev
Python3関連
Python3関連のセットアップをする。
.bashrc に下記を追記
alias python=python3 alias pip=pip3
編集したら source コマンドで読み込み直す
で、このままインストールを始めても PEP-517 がどうだのこうだのと怒られるので、下記のコマンドを実行しておく。
pip install --upgrade pip setuptools wheel
Airflow 本体のインストール
やっと apahce-airflow のインストール
しかしここでもまた PyYAML が既にインストールされてるからどうのこうのとエラーが出るので無視して強制インストールw
AIRFLOW_VERSION=2.1.2
PYTHON_VERSION="$(python --version | cut -d " " -f 2 | cut -d "." -f 1-2)"
CONSTRAINT_URL="https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-${PYTHON_VERSION}.txt"
sudo pip install --ignore-installed PyYAML "apache-airflow==${AIRFLOW_VERSION}" --constraint "${CONSTRAINT_URL}"
初期化と起動
インストールしてしまえばあとはこちらのもんだ (謎
以下の手順で初期化して起動。
export AIRFLOW_HOME=~/airflow
airflow db init
airflow users create \
--username admin \
--firstname hoge \
--lastname fuga \
--role Admin \
--email hoge@example.com
airflow webserver --port 8080 -D
airflow scheduler -D
余計な事もやってしまってるかも知れんけど動いてるからおk
動くようになったら好きなパッケージを追加する。
俺は BigQuery 使うので GCP 用のパッケージを追加でインストールする。
sudo pip install apache-airflow-providers-google