Airflow 配置celery+rabbitmq
1.セロリとrabbitmqのコンポーネントをインストールする
pip3 install apache-airflow[celery]
pip3 install apache-airflow[rabbitmq]
2. システムにウサギをインストールします
1) アーランをインストールする
yum install -y erlang
エラーが次の場合:
[**** ]# yum install erlang
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
No package erlang available.
Error: Nothing to do
サードパーティのソフトウェア ライブラリ epel をインストールする必要があります。
# 下载
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# 安装完成即可
rpm -ivh epel-release-latest-7.noarch.rpm
もう一度実行すると、erlang を正常にインストールできます。
2)rabbitmqをインストールします
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-3.6.15-1.el6.noarch.rpm
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
yum install -y rabbitmq-server-3.6.15-1.el6.noarch.rpm
3)rabbitmq を設定します(ユーザー名 root を設定し、パスワード rabbitmq を設定し、仮想ホスト airflow-rabbitmq を作成します)
[root@centos-master airflow]# /sbin/service rabbitmq-server stop
Stopping rabbitmq-server (via systemctl): [ OK ]
[root@centos-master airflow]# /sbin/service rabbitmq-server start
Starting rabbitmq-server (via systemctl): [ OK ]
[root@centos-master airflow]# rabbitmqctl add_user root rabbitmq
Creating user "root"
[root@centos-master airflow]# rabbitmqctl add_vhost airflow-rabbitmq
Creating vhost "airflow-rabbitmq"
[root@centos-master airflow]# rabbitmqctl set_user_tags root airflow-rabbitmq
Setting tags for user "root" to ['airflow-rabbitmq']
[root@centos-master airflow]# rabbitmqctl set_permissions -p airflow-rabbitmq root ".*" ".*" ".*"
Setting permissions for user "root" in vhost "airflow-rabbitmq"
[root@centos-master airflow]# rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
amqp_client
cowlib
cowboy
rabbitmq_web_dispatch
rabbitmq_management_agent
rabbitmq_management
4) エアフロー構成を変更する
[root@centos-master airflow]# vi airflow.cfg executor = CeleryExecutor broker_url = amqp://root:rabbitmq@localhost:5672/airflow-rabbitmq result_backend = amqp://root:rabbitmq@localhost:5672/airflow-rabbitmq
[root@centos-master airflow]# echo "export C_FORCE_ROOT="True"" >> /etc/profile
[root@centos-master airflow]# source /etc/profile
気流構成セロリ+ redis
1.redis をインストールする
yum -y install redis
2.構成ファイルを変更する
sudo vim /etc/redis.conf
#bind 127.0.0.1 // 注释掉,使redis允许远程访问
requirepass redis // 修改这行,redis登录密码(自定义)
3.redis サービスを開始する
systemctl start redis
4. Python に redis ライブラリをインストールします。
pip3 install redis
5. セロリをインストールする
pip3 install celery
6. airflow.cfg を設定します
executor = CeleryExecutor
broker_url = redis://127.0.0.1:6379/0
result_backend = redis://127.0.0.1:6379/0