# 使用Mesos擴展(社區貢獻)
有兩種方法可以將氣流作為mesos框架運行:
1. 直接在mesos從站上運行氣流任務,要求每個mesos從站安裝和配置氣流。
2. 在安裝了氣流的docker容器內運行氣流任務,該容器在mesos slave上運行。
## 任務直接在mesos從站上執行
`MesosExecutor`允許您在Mesos群集上安排氣流任務。 為此,您需要一個正在運行的mesos集群,并且必須執行以下步驟 -
1. 在將運行Web服務器和調度程序的mesos從站上安裝氣流,讓我們將其稱為“Airflow服務器”。
2. 在Airflow服務器上,從[mesos下載](http://open.mesosphere.com/downloads/mesos/)安裝mesos python eggs。
3. 在Airflow服務器上,使用可從所有mesos從站訪問的數據庫(例如mysql)并在`airflow.cfg`添加配置。
4. 將`airflow.cfg`更改為指向`airflow.cfg`的point executor參數,并提供相關的Mesos設置。
5. 在所有mesos奴隸上,安裝氣流。 從Airflow服務器復制`airflow.cfg` (以便它使用相同的sql煉金術連接)。
6. 在所有mesos從服務器上,運行以下服務日志:
```
airflow serve_logs
```
1. 在Airflow服務器上,要開始在mesos上處理/調度DAG,請運行:
```
airflow scheduler -p
```
注意:我們需要-p參數來挑選DAG。
您現在可以在mesos UI中查看氣流框架和相應的任務。 氣流任務的日志可以像往常一樣在氣流UI中查看。
有關mesos的更多信息,請參閱[mesos文檔](http://mesos.apache.org/documentation/latest/) 。 有關<cite>MesosExecutor的</cite>任何疑問/錯誤,請聯系[@ kapil-malik](https://github.com/kapil-malik) 。
## 在mesos從站上的容器中執行的任務
[此要點](https://gist.github.com/sebradloff/f158874e615bda0005c6f4577b20036e)包含實現以下所需的所有文件和配置更改:
1. 使用安裝了mesos python雞蛋創建一個dockerized版本的氣流。
> 我們建議利用docker的多階段構建來實現這一目標。 我們有一個Dockerfile定義從源(Dockerfile-mesos)構建特定版本的mesos,以便創建python egg。 在氣流Dockerfile(Dockerfile-airflow)中,我們從mesos圖像中復制python eggs。
1. 在`airflow.cfg`創建一個mesos配置塊。
> 配置塊保持與默認氣流配置(default_airflow.cfg)相同,但添加了一個選項`docker_image_slave` 。 這應該設置為您希望mesos在運行氣流任務時使用的圖像的名稱。 確保您具有適用于您的mesos主服務器的DNS記錄的正確配置以及任何類型的授權(如果存在)。
1. 更改`airflow.cfg`以將執行程序參數指向<cite>MesosExecutor</cite> ( <cite>executor = SequentialExecutor</cite> )。
2. 確保您的mesos slave可以訪問您用于`docker_image_slave`存儲庫。
> [mesos文檔中提供了相關說明。](https://mesos.readthedocs.io/en/latest/docker-containerizer/)
其余部分取決于您以及您希望如何使用dockerized氣流配置。