解读分布式调度平台 Airflow 在华为云 MRS 中的实践
本文分享自华为云社区《分布式调度平台Airflow在华为云MRS中的实践》,作者: 啊喔 YeYe 。
介绍
Airflow 是一个使用 Python 语言编写的分布式调度平台,通过 DAG(Directed acyclic graph 有向无环图)来管理任务,不需要知道业务数据的具体内容,设置任务的依赖关系即可实现任务调度。其平台拥有和 Hive、Presto、MySQL、HDFS、Postgres 等数据源之间交互的能力,并且提供了 hook,使其拥有很好地扩展性。MapReduce服务提供租户完全可控的企业级大数据集群云服务,可轻松运行 Hadoop、Spark、HBase、Kafka、Storm 等大数据组件。Airflow 对接 MapReduce 服务后,可依靠 Airflow 平台提供的命令行界面和一个基于 Web 的用户界面,可以可视化管理依赖关系、监控进度、触发任务等
环境准备
在华为云购买弹性云服务器 ECS,用于安装运行 Airflow,并绑定弹性公网 IP,用于访问公网安装 Airflow 服务
已开通 MRS 3.x 普通集群
弹性云服务器 ECS 的虚拟私有云和安全组需与 MRS 普通集群一致,其公共镜像建议选择 CentOS 8.2 64bit
安装 Airflow
1. 登录已购买的 Linux 弹性云服务器,执行以下命令升级 pip 版本
pip3 install --upgrade pip==20.2.4
2. 安装 Airflow 以及创建登录 Airflow 的 admin 用户
使用 vim 脚本名.sh 新建脚本,写入如下内容并保存,使用 sh 脚本名.sh 执行脚本,执行完成后会创建登录 Airflow 的 admin 用户,并输入密码完成创建。本脚本会完成 Airflow 的安装以及创建登录 Airflow 的 admin 用户。脚本含义见注释。
3.执行以下命令启动 Airflow WebServer
4. 执行以下命令启动 Airflow Scheduler
airflow scheduler -D
5. 访问 Airflow WebUI
在本地浏览器输入“http://ECS 弹性 IP:8080”网址,进入 Airflow WebUI 登录界面
登录之后:
提交 spark 作业至 MRS
1. 参考安装客户端在运行 Airflow 的弹性云服务器 ECS 上安装 MRS 客户端
例如安装客户端到/opt/client 目录下,安装命令:
2. 在安装 Airflow 的目录下新建目录"dags"
如 Airflow 安装目录是“/root/airflow”,新建目录“/root/airflow/dags”
3. 新建提交 Spark 作业的 Python 脚本
在新建目录下使用 vim 脚本名.py 新建 python 脚本并保存,脚本内容如下:
4. 登录 Airflow WebUI,单击“spark-pi”左侧的开关按钮,然后单击右侧的运行
运行
5. 登录 Manager 页面,选择“集群 > 服务 > Yarn > 概览”
6. 步单击“ResourceManager WebUI”后面对应的链接,进入 Yarn 的 WebUI 页面,查看 Spark 任务是否运行
版权声明: 本文为 InfoQ 作者【华为云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/dc072fa84f95ab70d211bb1cc】。文章转载请联系作者。
评论