Azure 数据湖存储

Slack Docker Pulls GitHub edit source

本指南介绍如何配置Alluxio,使其与底层存储系统 Azure Data Lake Storage Gen1 一起运行。

部署条件

电脑上应已安装好Alluxio程序。如果没有安装,可编译Alluxio源代码, 或直接下载已编译好的Alluxio程序.

在将 Azure 数据湖存储与 Alluxio 一起运行前,请在 Azure 帐户中创建一个新的 Data Lake Storage 或使用现有的 Data Lake Storage。这里还应指定需使用的 directory(目录),创建一个新的 directory 或使用现有 directory 均可。此外,还需为存储帐户设置服务到服务验证。本指南中的 Azure 存储帐户名为 <AZURE_ACCOUNT>,该存储帐户中的 directory 名为 <AZURE_DIRECTORY>。 要了解有关 Azure 存储帐户的更多信息,请点击此处.

基本设置

根挂载

如果要使用 Azure Data Lake Storage 作为 Alluxio 根挂载点的 UFS,则需要通过修改 conf/alluxio-site.properties 来配置Alluxio,使其可访问底层存储系统。如果该配置文件不存在,可通过模板创建。

$ cp conf/alluxio-site.properties.template conf/alluxio-site.properties

修改 conf/alluxio-site.properties 来指定UFS 地址,需包括:

alluxio.master.mount.table.root.ufs=adl://<AZURE_ACCOUNT>.azuredatalakestore.net/<AZURE_DIRECTORY>/

通过在 conf/alluxio-site.properties中添加以下属性,来指定用于根挂载点的 Azure 帐户的 Azure AD Application 的应用ID、身份验证密钥和租户 ID:

alluxio.master.mount.table.root.option.fs.adl.account.<AZURE_ACCOUNT>.oauth2.client.id=<APPLICATION_ID>
alluxio.master.mount.table.root.option.fs.adl.account.<AZURE_ACCOUNT>.oauth2.credential=<AUTHENTICATION_KEY>
alluxio.master.mount.table.root.option.fs.adl.account.<AZURE_ACCOUNT>.oauth2.refresh.url=https://login.microsoftonline.com/<TENANT_ID>/oauth2/token

嵌套挂载

Azure Data Lake 存储位置可以挂载在 Alluxio 命名空间中的嵌套目录下,以便统一访问多个底层存储系统。可使用 Alluxio 的 Command Line Interface(命令行) 来进行挂载。

$ ./bin/alluxio fs mount \
  --option fs.adl.account.<AZURE_ACCOUNT>.oauth2.client.id=<APPLICATION_ID>
  --option fs.adl.account.<AZURE_ACCOUNT>.oauth2.credential=<AUTHENTICATION_KEY>
  --option fs.adl.account.<AZURE_ACCOUNT>.oauth2.refresh.url=https://login.microsoftonline.com/<TENANT_ID>/oauth2/token
  /mnt/adls adl://<AZURE_ACCOUNT>.azuredatalakestore.net/<AZURE_DIRECTORY>/

在完成这些修改之后,Alluxio 已经配置完毕,可以与底层存储 Azure Data Lake 一起在本地运行。

将 Alluxio 与 Data Lake Storage 一起在本地运行

在本地启动Alluxio,检查是否一切运行正常。

./bin/alluxio format
./bin/alluxio-start.sh local

该命令会启动一个 Alluxio master 和一个 Alluxio worker。可通过 http://localhost:19999 查看 master UI。

运行一个简单的示例程序:

./bin/alluxio runTests

访问 directory <AZURE_DIRECTORY> 以验证 Alluxio 创建的文件和目录是否存在。就本次测试而言,将看到如下文件:

<AZURE_DIRECTORY>/default_tests_files/BASIC_CACHE_PROMOTE_CACHE_THROUGH

要终止Alluxio, 可运行以下命令:

./bin/alluxio-stop.sh local