Airflow 配置celery+rabbitmq

1、安装celery和rabbitmq组件

pip3 install apache-airflow[celery]

pip3 install apache-airflow[rabbitmq]

2、系统安装rabbit

1)安装 erlang

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-.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.-.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)修改airflow配置

[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

Airflow 配置celery+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.安装celery

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

Airflow 配置celery+rabbitmq和celery+redis的更多相关文章

  1. airflow 安装配置celery+rabbitmq celery+redis

    AirFlow的安装可以参考:https://www.cnblogs.com/braveym/p/11378851.html 这里介绍的是AirFlow 安装配置celery+rabbitmq   和 ...

  2. Docker部署Django项目+Nginx+Fluend日志收集 和redis、memcached、RabbitMQ、Celery

    前言 一.docker 1.docker是什么? Docker的英文本意是“搬运工”,Docker搬运的是集装箱(Container)可以成为容器,我可以把写的Django的WEB应用以及Python ...

  3. django+celery +rabbitmq

    celery是一个python的分布式任务队列框架,支持 分布的 机器/进程/线程的任务调度.采用典型的生产者-消费者模型 包含三部分:1. 队列 broker :可使用redis ,rabbitmq ...

  4. 消息队列&Celery&RabbitMQ&zeromq

    一.消息队列 什么是消息队列? “消息队列”是在消息的传输过程中保存消息的容器. “消息”是在两台计算机间传送的数据单位.消息可以非常简单,例如只包含文本字符串:也可以更复杂,可能包含嵌入对象. 消息 ...

  5. Tornado + Celery + RabbitMQ

    声明:代码是从项目中截取的, 为进行测试 使用Celery任务队列,Celery 只是一个任务队列,需要一个broker媒介,将耗时的任务传递给Celery任务队列执行,执行完毕将结果通过broker ...

  6. Django+celery+rabbitmq实现邮件发送

    一.环境 1.pip包 amqp==2.4.2 anyjson==0.3.3 billiard==3.6.0.0 celery==4.3.0 Django==2.2 dnspython==1.16.0 ...

  7. celery+RabbitMQ 实战记录2—工程化使用

    上篇文章中,已经介绍了celery和RabbitMQ的安装以及基本用法. 本文将从工程的角度介绍如何使用celery. 1.配置和启动RabbitMQ 请参考celery+RabbitMQ实战记录. ...

  8. 从celery rabbitmq with docker-compose 引出对容器、依赖注入、TDD的感悟

    用docker配置项目管理系统taiga的时候,不是我一个人遇到这个问题.https://github.com/douglasmiranda/docker-taiga/issues/5 问题描述: 用 ...

  9. 如何使用django+celery+RabbitMQ实现异步执行

    1)安装需要安装RabbitMQ.Celery和Django-celeryCelery和Django-celery的安装直接pip就好 2)修改settings.py在INSTALLED_APPS中加 ...

随机推荐

  1. sva 基础语法

    断言assertion被放在verilog设计中,方便在仿真时查看异常情况.当异常出现时,断言会报警.一般在数字电路设计中都要加入断言,断言占整个设计的比例应不少于30%.以下是断言的语法: 1. S ...

  2. element 右键菜单

    右键菜单 这是一个右键菜单的组件 <template> <div id="dropMenu" :style="style" style=&qu ...

  3. vue-cli3.0 关闭eslint校验

    1. 跟着课程学习vue高级训练营时,vue-cli老是报eslint校验错误,把它关了! 网上找到了图中这个写法,可是报错啊! 解决办法:把false改为true   参考:https://blog ...

  4. Java8常用示例

    java.util.Map中的putIfAbsent.computeIfAbsent.computeIfPresent.compute的区别 探索Java8:(三)Predicate接口的使用 Has ...

  5. Hystrix原理与实战

    Hystrix原理与实战 背景 分布式系统环境下,服务间类似依赖非常常见,一个业务调用通常依赖多个基础服务. 比如:订单服务调用商品服务,商品服务调用库存服务. 对于同步调用,当库存服务不可用时,商品 ...

  6. 爬虫之 selenium模块

    selenium模块   阅读目录 一 介绍 二 安装 三 基本使用 四 选择器 五 等待元素被加载 六 元素交互操作 七 其他 八 项目练习 一 介绍 selenium最初是一个自动化测试工具,而爬 ...

  7. 更改Ubuntu下默认Python版本

    更改Ubuntu下默认Python版本 首先查看系统内有哪些版本的Python ls /usr/bin/python* 查看当前python版本 python --version 基于用户修改默认版本 ...

  8. Codeforces #503 C. Elections(贪心,逆向

    我的参考的博客地址 题目 逆向考虑. 暴力遍历 k(k是1到n/2+1 范围内的),挑出对于每一个k,记对于党派 i,num[ i ]为其票数.num[ i ]小于k-1的就不用改变投票了(这部分是比 ...

  9. Wide & Deep Learning for Recommender Systems

    Wide & Deep Learning for Recommender Systems

  10. 16 关于webpack和npm中几个问题的说明

    1.json里面不能写注释 2.'webpack-dev-server'不是内部或外部命令,也不是可运行的程序或批处理文件. 注意:webpack-dev-server包只需要本地安装就行,不用全局安 ...