airflow MySQLデータベースの使用(サードパーティデータベースの詳細)
1744 ワード
airflowはpythonが書いたスケジューリングプラットフォームで、大まかな認識は、いくつかのタスク(スクリプト、コマンド、接続...)を定義し、airflowスケジューリングプラットフォームは自動的に実行することができ、後で実行ログ(UIインタフェース)などが与えられ、このUIインタフェース(WEB側)には複雑な分析スペクトルがあり、できることが多い.
以下はairflowが非デフォルトのデータベースを使用していることを紹介します.デフォルトはSQLiteです.公式の紹介は詳しくありません.これは個人的なまとめです.
公式アドレス:http://airflow.apache.org/docs/stable/installation.html
一、MySQLへの登録、データベースの作成、ユーザーパスワードの作成、ポリシーの更新
三、airflowプロファイル(airflow.cfg)の設定
四、データベースのリセット、データベースの初期化
以下はairflowが非デフォルトのデータベースを使用していることを紹介します.デフォルトはSQLiteです.公式の紹介は詳しくありません.これは個人的なまとめです.
公式アドレス:http://airflow.apache.org/docs/stable/installation.html
一、MySQLへの登録、データベースの作成、ユーザーパスワードの作成、ポリシーの更新
mysql> create database airflow;
mysql> GRANT all privileges on airflow.* TO 'airflow'@'%' IDENTIFIED BY 'xE!D95Exxx';
mysql> FLUSH PRIVILEGES;
二、MySQLのnullに対する処理を設定し、サーバーを再起動する(あってもなくてもよい)mysql> set explicit_defaults_for_timestamp = 1;
( )
[root@VM_0_16_centos airflow]# systemctl restart mysqld
この設定は公式ドキュメントで提案されています.次の記事では、このプロパティについて説明します.https://www.jianshu.com/p/dfa0380eb6b9 三、airflowプロファイル(airflow.cfg)の設定
# airflow
[root@VM_0_16_centos airflow]# vim ~/airflow/airflow.cfg
#
The executor class that airflow should use. Choices include
# SequentialExecutor, LocalExecutor, CeleryExecutor, DaskExecutor, KubernetesExecutor
#executor = SequentialExecutor
executor = LocalExecutor
# The SqlAlchemy connection string to the metadata database.
# SqlAlchemy supports many different database engine, more information
# their website
sql_alchemy_conn = mysql+pymysql://airflow:[email protected]/airflow
# pymysql
[root@VM_0_16_centos airflow]# pip3 install pymysql
いくつかのピットのヒント:データベース接続パスはmysqlのドライバを使用するかどうかに注意してください.pymysqlはすでに使用されています.インストールしていないとエラーが発生し、ドライバが見つかりません.四、データベースのリセット、データベースの初期化
[root@VM_0_16_centos airflow]# airflow resetdb
[root@VM_0_16_centos airflow]# airflow initdb