书籍详情

Airflow实战

Airflow实战

作者:朱鹏程

出版社:人民邮电出版社

出版时间:2023-12-01

ISBN:9787115623775

定价:¥79.80

购买这本书可以去
内容简介
  本书由浅入深地介绍了如何快速搭建Airflow集群,包括不同操作系统的快速搭建方法、Airflow的安装方法、Airflow集群的部署方法、Airflow中的核心概念和其他重要概念、Airflow的架构和组件、Airflow的系统管理、实践经验以及其他常见的调度系统。附录提供了Docker和Kubernetes的简介。此外,本书还提供了在生产环境中使用Airflow的诸多实践与经验,无论是对研发工程师创建工作流、排查工作流问题,还是对运维工程师维护集群运转、优化集群性能,都有极其重要的借鉴价值。本书图文并茂,理论翔实,示例丰富,适合正在使用或者即将使用Airflow作为调度系统的研发工程师、Airflow平台的运维工程师以及对Airflow感兴趣的读者阅读。
作者简介
  朱鹏程,本科毕业于复旦大学软件工程系,现于亿贝软件工程(上海)有限公司担任高级软件工程师,负责Hadoop平台的支持和维护,同时负责开源调度系统Airflow在全公司的推广和落地。精通Java语言,对HBase、Elasticsearch、Airflow等项目有深入了解。
目录
第 1章 快速搭建Airflow集群 1
1.1 准备工作 1
1.1.1 安装kubectl 1
1.1.2 安装Docker和kind 5
1.1.3 安装Helm 7
1.2 创建Kubernetes集群 8
1.3 使用Helm部署Airflow集群 8
1.4 运行示例 10
1.5 本章小结 11
第 2章 安装Airflow 12
2.1 在非容器化环境中基于PyPI安装Airflow 12
2.1.1 准备工作 12
2.1.2 安装Airflow 13
2.1.3 升级Airflow 14
2.2 在容器化环境中扩展Airflow官方的镜像 15
2.3 本章小结 15
第3章 部署Airflow集群 16
3.1 在非容器化生产环境中部署Airflow 16
3.1.1 基于Celery Executor的部署 16
3.1.2 基于Dask Executor的部署 23
3.2 在容器化生产环境中部署Airflow 28
3.2.1 基于Celery Executor的部署 28
3.2.2 基于Kubernetes Executor的部署 39
3.2.3 基于CeleryKubernetes Executor的部署 40
3.3 本章小结 41
第4章 DAG相关概念 42
4.1 DAG简介 42
4.1.1 构造DAG 44
4.1.2 加载DAG 48
4.1.3 运行DAG 49
4.2 Task 50
4.2.1 Task的类型 51
4.2.2 TaskGroup 61
4.2.3 Task的超时处理 63
4.3 DAG Run和Task Instance 63
4.4 本章小结 70
第5章 其他概念 71
5.1 XCom 71
5.1.1 XCom的使用场景 71
5.1.2 如何使用XCom 71
5.2 Variable 73
5.2.1 通过Webserver UI配置Variable 74
5.2.2 通过环境变量配置Variable 75
5.2.3 通过其他方式配置Variable 76
5.3 Connection和Hook 76
5.3.1 基本概念 77
5.3.2 Connection的配置 77
5.3.3 Connection和Hook的使用 80
5.3.4 SSHHook源代码分析 81
5.4 Pool 82
5.4.1 Pool的设置 82
5.4.2 Pool的使用 83
5.5 Priority Weight 84
5.6 Cluster Policy 84
5.6.1 Cluster Policy的使用场景和类型 85
5.6.2 具体示例 85
5.7 Deferrable Operator和Trigger 86
5.7.1 使用Deferrable Operator和Trigger 86
5.7.2 从源代码分析Deferrable Operator和Trigger 87
5.8 本章小结 89
第6章 架构和组件 90
6.1 架构 90
6.2 Scheduler 91
6.2.1 解析DAG文件 91
6.2.2 调度DAG和Task 92
6.2.3 运行Task Instance 94
6.3 Webserver 97
6.3.1 UI 97
6.3.2 REST API 99
6.4 Triggerer 104
6.5 本章小结 104
第7章 系统管理 105
7.1 配置 105
7.1.1 如何管理配置 105
7.1.2 特殊的配置 107
7.1.3 配置的优先级 108
7.2 安全 108
7.2.1 访问控制 109
7.2.2 API认证 111
7.2.3 Webserver UI安全 113
7.2.4 数据安全 114
7.3 日志和监控 115
7.3.1 日志和监控的架构 116
7.3.2 日志 116
7.3.3 监控 117
7.4 插件 118
7.4.1 插件的安装和加载 118
7.4.2 如何实现插件 119
7.5 模块管理 126
7.5.1 如何添加Python模块 126
7.5.2 如何排查问题 126
7.6 CLI 127
7.6.1 全部命令 127
7.6.2 自动补齐 129
7.7 时区 130
7.7.1 datetime对象与时区 130
7.7.2 Airflow是如何处理时区的 130
7.7.3 Webserver UI的时区显示 131
7.8 本章小结 132
第8章 Airflow集群实践 133
8.1 Executor调优 133
8.1.1 Celery Executor 调优 134
8.1.2 Kubernetes Executor调优 141
8.1.3 Dask Executor调优 141
8.2 高可用 142
8.2.1 高可用的Scheduler 142
8.2.2 高可用的Webserver 143
8.2.3 高可用的Triggerer 143
8.3 鲁棒的数据库访问 144
8.3.1 PostgreSQL优化 144
8.3.2 MySQL优化 144
8.3.3 数据库通用优化 144
8.4 简化DAG文件发布和解析 145
8.4.1 简化DAG文件发布 145
8.4.2 通过配置控制DAG文件解析的行为 145
8.5 用插件扩展集群的能力 146
8.5.1 编写插件 146
8.5.2 安装插件 152
8.5.3 测试插件 152
8.6 加强REST API的能力 155
8.7 其他 158
8.7.1 让集群更安全 158
8.7.2 监控必不可少 159
8.7.3 为DAG和Task添加说明文档 159
8.7.4 配置邮件通知 160
8.7.5 控制调度的并发度 161
8.8 本章小结 162
第9章 Airflow的新功能 163
9.1 Airflow 2.3版本的新功能 163
9.1.1 动态Task映射 163
9.1.2 网格视图 169
9.1.3 其他功能 173
9.2 Airflow 2.4版本的新功能 174
9.2.1 数据感知调度 174
9.2.2 其他功能 175
9.3 Airflow 2.5版本的新功能 175
9.4 本章小结 176
第 10章 其他调度系统 177
10.1 DolphinScheduler 177
10.1.1 DolphinScheduler的架构 177
10.1.2 DolphinScheduler的特点和优势 179
10.1.3 DolphinScheduler与Airflow的对比 180
10.2 AWS Step Functions 180
10.2.1 AWS Step Functions的特点和优势 181
10.2.2 AWS Step Functions与Airflow的对比 181
10.3 Google Workflows 181
10.3.1 Google Workflows的特点和优势 182
10.3.2 Google Workflows与Airflow的对比 182
10.4 Azkaban 183
10.4.1 Azkaban的特点和优势 183
10.4.2 Azkaban与Airflow的对比 184
10.5 Kubeflow 184
10.5.1 Kubeflow的特点和优势 185
10.5.2 Kubeflow与Airflow的对比 185
10.6 本章小结 186
附录A Docker简介 187
附录B Kubernetes简介 197
猜您喜欢

读书导航