Airflow簡單介紹及測試安裝

Airflow是什么

  • Airflow 是 Airbnb 開發(fā)的用于工作流管理的開源項目逊躁,自帶 web UI 和調(diào)度沼瘫。它支持編程方式創(chuàng)建工作流秩霍,同時在平臺上管理和監(jiān)控工作流程的狀態(tài)款违。
  • Airflow 于2016年3月加入了Apache Software Foundation的孵化計劃诸老,所以它未來的持續(xù)維護(hù)性有保障伍纫。
  • 官方地址:https://github.com/apache/airflow宗雇,現(xiàn)有11318個star,732個貢獻(xiàn)者莹规,是一個熱門的開源項目赔蒲。
  • 先看下這篇介紹 :淺談?wù){(diào)度工具——Airflow

為什么使用Airflow

  • 智能調(diào)度
  • 圖形化展示任務(wù)關(guān)系
  • 程序化流水線定義
  • 流水線間數(shù)據(jù)交互
  • 擴(kuò)展性強(qiáng)
  • 分布式,可靠性高
  • 執(zhí)行方式多樣化良漱,除了定時執(zhí)行還可手動觸發(fā)舞虱,api觸發(fā)等

Airflow常用的場景

Airflow主要用于執(zhí)行預(yù)定的批處理作業(yè)。它能夠很好地管理不同的批量作業(yè)的關(guān)系母市,并給將復(fù)雜的關(guān)系圖形化展示矾兜。

  • 系統(tǒng)或運用的日常維護(hù)任務(wù),批量作業(yè)
  • CD部署任務(wù)患久,灰度發(fā)布椅寺,藍(lán)綠部署等
  • 數(shù)據(jù)分析浑槽,數(shù)據(jù)流管道管理

一句話:任何批量任務(wù)或者需要手動去觸發(fā)執(zhí)行的任務(wù)都可以考慮一下Airflow

Airflow安裝

airlow使用ansible role方式安裝 https://github.com/idealista/airflow-role

  1. 安裝準(zhǔn)備軟件ansible、gcc返帕、python-devel
$ yum install ansible gcc python-devel -y
  1. 創(chuàng)建文件requirements.yml
- src: idealista.airflow-role
  version: 1.0.0
  name: airflow
  1. 下載airflow role
$ ansible-galaxy install -p roles -r requirements.yml -f
  1. 更改role中的install.yml
    將roles/airflow/tasks/install.yml中的apt模塊改成package模塊
    將roles/airflow/tasks/install.yml中的Copy Daemon scripts中的when條件去掉
$ cat roles/airflow/tasks/install.yml
...
- name: Airflow | Installing dependencies
  package:
    name: "{{ item }}"
    state: present
  with_items: "{{ airflow_required_libs }}"
...
- name: Airflow | Copy Daemon scripts
  template:
    src: "{{ item.key }}.service.j2"
    dest: /lib/systemd/system/{{ item.key }}.service
    mode: 0644
  notify: restart {{ item.key }}
  with_dict: "{{ airflow_services }}"

更改role下的config.yml及templates/airflow-***.service.j2文件
/usr/local/bin/airflow改為/usr/bin/airflow

$ cat roles/airflow/tasks/config.yml
...
- name: Airflow | Initializing DB
  shell: AIRFLOW_HOME={{ airflow_home }} airflow initdb
...
$ cat roles/airflow/templates/airflow-webserver.service.j2
...
ExecStart=/usr/bin/airflow webserver --pid /run/airflow/webserver.pid
...

目的該role使用pkg只能在Debian 或 Ubuntu 環(huán)境下安裝桐玻,更改后,可以在centos環(huán)境下安裝

  1. 更新ansible的hosts文件
$ cat /etc/ansible/hosts
127.0.0.1 ansible_connection=local
  1. 創(chuàng)建部署airflow的ansible yaml
$ cat airflow.yml
---
- hosts: all
  roles:
  - { role: airflow }
  1. 安裝airflow
$ ansible-playbook airflow.yml

執(zhí)行完以上操作后本機(jī)就安裝好了airflow荆萤,同時也配置好了service等镊靴。

  1. 手動初始化db
$ HOME=/etc/airflow; airflow initdb
  1. 更新配置/etc/airflow/airflow.cfg
$ cat /etc/airflow/airflow.cfg
...
max_threads = 1
dagbag_import_timeout = 30
...
  1. 啟動airflow-worker
$ systemctl restart airflow-worker

安裝好后展示

Airflow主頁.png

問題記錄

  • 如果使用CeleryExecutor,可以安裝Celery管理器flower链韭。偏竟,默認(rèn)會安裝tornado最新版本,需要限定tornado版本需限制在4.2.0梧油。安裝完成后運行AIRFLOW_HOME=/etc/airflow airflow flower
  • 使用Mysql作為后臺數(shù)據(jù)庫時,安裝mysql擴(kuò)展請安裝mysql-python州邢。
    同時broker_url設(shè)置為broker_url = mysql://airflow:airflow@localhost:3306/airflow
  • 測試Airflow中的DAG時儡陨,需要在界面上將它先把狀態(tài)改為On后,再點擊運行量淌。

相關(guān)文章

Airflow中文文檔
任務(wù)調(diào)度神器 airflow 之初體驗
airflow 安裝骗村,部署,填坑
airflow 配置 CeleryExecutor
淺談?wù){(diào)度工具——Airflow
如何部署一個健壯的 apache-airflow 調(diào)度系統(tǒng)
Airflow工作模式及適用場景
淺談?wù){(diào)度工具——Airflow

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末呀枢,一起剝皮案震驚了整個濱河市胚股,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌裙秋,老刑警劉巖琅拌,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異摘刑,居然都是意外死亡进宝,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門枷恕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來党晋,“玉大人,你說我怎么就攤上這事徐块∥床#” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵胡控,是天一觀的道長扳剿。 經(jīng)常有香客問我,道長昼激,這世上最難降的妖魔是什么舞终? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任轻庆,我火速辦了婚禮,結(jié)果婚禮上敛劝,老公的妹妹穿的比我還像新娘余爆。我一直安慰自己,他們只是感情好夸盟,可當(dāng)我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布蛾方。 她就那樣靜靜地躺著,像睡著了一般上陕。 火紅的嫁衣襯著肌膚如雪桩砰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天释簿,我揣著相機(jī)與錄音亚隅,去河邊找鬼。 笑死庶溶,一個胖子當(dāng)著我的面吹牛煮纵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播偏螺,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼行疏,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了套像?” 一聲冷哼從身側(cè)響起酿联,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎夺巩,沒想到半個月后贞让,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡柳譬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年震桶,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片征绎。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡蹲姐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出人柿,到底是詐尸還是另有隱情柴墩,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布凫岖,位于F島的核電站江咳,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏哥放。R本人自食惡果不足惜歼指,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一爹土、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧踩身,春花似錦胀茵、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至附鸽,卻和暖如春脱拼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背坷备。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工熄浓, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人省撑。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓赌蔑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親丁侄。 傳聞我的和親對象是個殘疾皇子惯雳,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,762評論 2 345