分布式处理

h43kikqp  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(539)

我的脑子被架构搞糊涂了。
如果我知道,当您在oozie中执行hql或sqoop语句时,oozie将请求定向到数据节点。
我想在Apache实现同样的目标。我想执行一个shell脚本、hql或sqoop命令,并且我想确保我的命令是由数据节点分布式执行的。气流有不同的执行器类型。为了在不同的数据节点上同时运行命令,我应该怎么做?

uelo1irk

uelo1irk1#

oozie与hadoop节点紧密耦合,所有的脚本都需要上传到hdfs,而带有celery executor的aiffort有更好的架构。使用celery executor相同的脚本,hql可以通过使用正确的队列在多个节点以及特定节点上并发执行,并且一些工作人员可以监听特定的队列来执行这些操作。

gzszwxb4

gzszwxb42#

似乎您想在分布式worker上执行任务。在这种情况下,考虑使用 CeleryExecutor .
celeryexecutor是扩展员工数量的方法之一。为此,您需要设置celery 后端(rabbitmq,redis,…),并更改airflow.cfg以将executor参数指向celery executor并提供相关celery 设置。
请参见:https://airflow.apache.org/configuration.html#scaling-和celery 一起吃

相关问题