(在 Windows 10 上设置 Apache-Airflow 的分步指南)

Hiren Rupchandani合作编写

前言

在上一个故事中,您学习了将 Ubuntu 20.04 on Windows 10 设置为 Linux Subsystem Distribution。在本文中,我将引导您完成使用虚拟环境在 WSL 2 中安装 Apache Airflow 的过程。

在 WSL 2 上安装 pip

  • 搭建虚拟环境,我们需要安装一个名为virtualenv的python包。

  • 我们将使用 pip 命令来做同样的事情。

  • 如果您的 Linux 发行版中没有 python-pip,请在 Ubuntu 终端中执行以下命令:

用户名@desktop_name:~$ **sudo apt install python3-pip

**[sudo] 用户名密码:

  • 输入 Linux 密码以继续安装。

virtualenv包的安装

成功安装 pip 后,您现在必须使用以下命令安装 virtualenv 包:

用户名@desktop_name:~$ **sudo pip3 install virtualenv

**[sudo] 用户名密码:输出:

收集 virtualenv

虚拟环境的创建

  • 我们现在将创建一个虚拟环境。

  • 它将使其库和依赖项与全局库和任何其他项目库分开,以避免它们之间的任何冲突

  • 我们可以使用以下命令在 WSL 中创建一个虚拟环境:

用户名@desktop_name:~$ virtualenv 气流_env****OUTPUT:

在 841 毫秒内创建虚拟环境 CPython3.8.10.final.0–64

创建者 CPython3Posix(destu003d/home/username/airflow_env, clearu003dFalse, no_vcs_ignoreu003dFalse, globalu003dFalse)

播种机 FromAppData(downloadu003dFalse, pipu003dbundle, setuptoolsu003dbundle, wheelu003dbundle, viau003dcopy, app_data_diru003d/home/username/.local/share virtualenv)

添加种子包:pipu003du003d21.2.2,setuptoolsu003du003d57.4.0,wheelu003du003d0.36.2

激活器 BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator

  • 激活环境执行以下代码:

用户名@desktop_name:~$ 源气流_env/bin/activate

  • 您现在应该看到 virtual environment name 在终端 命令行之前,例如:

(气流_env) 用户名@desktop_name:~$

  • 表示虚拟环境已经被激活,所有即将到来的代码指令将生效只在这个环境内

为气流目录设置环境变量

  • 接下来,我们将设置一个环境变量,帮助我们在每次重启系统时导航****airflow目录

  • 我们先在Windows上创建一个名为airflow的目录。我们的目录将位于 C:/Users/username/Documents/。

  • 接下来,我们将使用命令行获取WSL中的目录路径,然后我们将在我们的WSL环境中设置此路径。

  • 一般我们在mnt文件夹中找到系统驱动。而Documents目录位于c/Users目录中我们的username目录下。

  • 我们现在将使用以下命令从根目录前往气流目录:

用户名@desktop_name:~$ **cd /**username@desktop_name:/$ ls****OUTPUT:

bin dev etc g init lib32 libx32 media opt root sbin srv tmp var

boot home lib lib64 lost+found mnt proc run snap sys usrusername@desktop_name:/$ cd mntusername@desktop_name:/mnt$ cd cusername@desktop_name:/mnt/ c$ ls****输出:

'$Recycle.Bin' AVScanner.ini MSOCache 'Program Files (x86)' Users pagefile.sys '$WinREAgent' Config.Msi Octave ProgramData Windows swapfile.sys 'Documents and Settings' PerfLogs Recovery temp tmp 'Program Files ' '系统卷信息' hiberfil.sys toolsusername@desktop_name:/mnt/c$ cd Usersusername@desktop_name:/mnt/c/Users$ ls****OUTPUT:

'所有用户' 默认 '默认用户' 用户名 public desktop.iniusername@desktop_name:/mnt/c/Users$ cd usernameusername@desktop_name:/mnt/c/Users/username $ ls****输出:

OneDrive 图片 PrintHood Anaconda3 最近的 AppData 搜索“应用程序数据”myWebApp“创意云文件”模板桌面文档下载 MicrosoftEdgeBackups 音乐“我的文档”用户名@desktop_name:/mnt/c/Users/username$ cd 文档username@desktop_name:/mnt/c/Users/username/Documents$ ls****OUTPUT:

缩放 airflow desktop.iniusername@desktop_name:/mnt/c/Users/username/Documents$ cd 气流username@desktop_name:/mnt/c/Users/username/Documents/airflow$

  • 接下来,复制气流目录的整个路径- /mnt/c/Users/username/Documents/airflow 并将其存储在变量中。

  • 要创建环境变量,请打开一个新终端并输入以下命令来编辑 bash 脚本:

用户名@desktop_name:~$ sudo nano ~/.bashrc

  • 您必须在给定控制台的任何位置输入以下指令:

export AIRFLOW_HOMEu003d/mnt/c/Users/username/Documents/airflow

在控制台输入导出命令

  • 此命令会将气流目录路径保存在名为 AIRFLOW_HOME 的环境变量中。关闭所有打开的终端。

  • 下次启动终端时,可以写cd $AIRFLOW_HOME 一口气进入airflow目录。

用户名@desktop_name:~$ cd $AIRFLOW_HOMEusername@desktop_name:~/mnt/c/Users/username/Documents/airflow$

安装气流和基本库

  • 现在,您需要打开一个新终端并使用以下命令激活虚拟环境:

用户名@desktop_name:~$ 源气流_env/bin/activate

  • 要安装 airflow 和基本库,请执行以下命令:

(airflow_env) 用户名@desktop_name:~ **pip3 install apache-airflow[gcp,sentry,statsd]**OUTPUT:

收集 apache-airflow[gcp,sentry,statsd]

.

安装收集的包:(所有下载的包)

  • 安装可能需要一些时间。确保您有一个有效的互联网连接。在安装过程中喝杯咖啡......

  • 安装成功后,您可能还需要安装一些额外的库,如 sklearnpyspark

(airflow_env) 用户名@desktop_name:~ pip3 安装 pyspark(airflow_env) 用户名@desktop_name:~ pip3 安装 sklearn

气流数据库初始化

  • 接下来,您将需要进入气流目录并使用以下命令初始化****气流数据库:

(airflow\env) 用户名@desktop\name:~ cd $AIRFLOW_HOME

(airflow_env) 用户名@desktop_name:~/mnt/c/Users/username/Documents/airflow$ **airflow db init****OUTPUT:

**模块导入成功

初始化完成

  • 如果执行下面的命令,会观察到airflow目录里面的一些文件和目录。

(airflow_env) 用户名@desktop_name:~/mnt/c/Users/username/Documents/airflow$ ls****OUTPUT:

气流.cfg 气流.db 日志 webserver_config.py

  • 是时候创建一个dags 文件夹了。所有未来的 dag 都将存储在这里并由气流组件访问。

(airflow_env) 用户名@desktop_name:~/mnt/c/Users/username/Documents/airflow$ mkdir dags

创建新的气流用户

  • 开发者必须在第一次启动airflow时创建一个新用户

  • 可以在“users create”命令的帮助下完成。

  • 要创建一个具有 a username as admin with Admin role 的新用户,可以运行以下代码:

(airflow_env) username@desktop_name:~/mnt/c/Users/username/Documents/airflow$ airflow 用户创建 --username admin --password your_password --firstname your_first_name -- lastname your_last_name --role Admin --email your_email@some.com

  • 运行如下命令查看用户是否创建成功:

(airflow_env) 用户名@desktop_name:~/mnt/c/Users/username/Documents/airflow$ airflow 用户列表****OUTPUT:

编号 |用户名 |电子邮件 |第一个_name |姓_姓名 |角色

\u003du003du003d+u003du003du003du003du003du003du003du003du003du003du003d+u003du003du003du003du003du003du003du003d+u003du003du003du003du003du003du003du003du003du003du003du003d+u003du003du003du003du003du003du003du003du003du003du003d+u003d u003du003du003du003du003d

1 |管理员 |您的\email@some.com |你的\名字\名字|你的_姓_姓名|行政

Airflow Scheduler和Webserver的运行

  • 现在在激活虚拟环境后使用气流调度器命令启动气流调度器:

用户名@desktop_name:~$ 源气流_env/bin/activate(airflow_env) 用户名@desktop_name:~$ cd $AIRFLOW_HOME(airflow_env) 用户名@desktop _name:~/mnt/c/Users/username/Documents/airflow$ 气流调度器

  • 打开新终端,激活虚拟环境,进入airflow目录,启动****web服务器

用户名@desktop_name:~$ 源气流_env/bin/activate(airflow_env) 用户名@desktop_name:~$ cd $AIRFLOW_HOME(airflow_env) 用户名@desktop _name:~/mnt/c/Users/username/Documents/airflow$ airflow webserver

  • 一旦调度器和网络服务器得到初始化,打开任何浏览器并转到http://localhost:8080/

  • 端口 8080 应该是 Airflow 的默认端口,您会看到以下页面:

气流登录

  • 如果它不起作用或显示被其他程序占用,请转到airflow.cfg文件并更改端口号。

  • 使用我们的airflow用户名和密码登录后,我们应该看到如下web server UI

气流首页

  • 这些是您第一次登录时会观察到的一些预构建的 dags

  • 如果你看到这个页面,恭喜!您已在系统中成功安装了 Apache Airflow

  • 你可以探索用户界面,用狗做实验,看看它们的工作原理。

最后的想法和结束语

在追求数据科学人工智能之旅时,有一些要点许多人们无法理解。如果您是他们中的一员,并且正在寻找一种方法来平衡这些缺点,请查看INSAID在其网站上提供的认证计划。如果您喜欢这个故事,我建议您使用全球数据科学证书,因为这将涵盖您的基础和机器学习算法(从基础到高级)。

& 而已。我希望你喜欢 Setting up Apache-Airflow in Windows using WSL 的解释,并学到了一些有价值的东西。如果你有什么想和我分享的,请在评论部分告诉我。我很想知道你的想法。

关注我,获取更多即将发表的基于 Python、R、数据科学、机器学习和人工智能的文章。

如果您觉得本文对您有帮助,请点击 拍手👏。您的鼓励将激发灵感,让我继续前进并开发更多有价值的内容。

下一步是什么?

  • Apache-Airflow 中的 Hello World
Logo

学AI,认准AI Studio!GPU算力,限时免费领,邀请好友解锁更多惊喜福利 >>>

更多推荐