Alluxio集成Azure Blob Store作为底层存储
该指南介绍了如何配置Alluxio以使用Azure Blob Store作为底层存储系统。
初始步骤
为了在多台机器上运行一个Alluxio集群,你必须在每台机器上部署Alluxio的二进制文件。 你可以从Alluxio源码编译二进制文件,或者直接下载已经编译好的Alluxio二进制文件。
此外,为了在Alluxio上使用Azure Blob Store,你需要在Azure storage帐户上创建一个新的container或者使用一个已有的container。还要提供准备在这个container里使用的目录,你可以在这个container里面创建一个目录,或者使用一个已有的目录。在这篇文章中,我们将Azure storage帐户名称为<AZURE_ACCOUNT>
,将帐户里的container称为<AZURE_CONTAINER>
并将该container里面的目录称为<AZURE_DIRECTORY>
。点击这里查看更多关于Azure storage帐户的信息。
配置Alluxio
根挂载
要使用Azure blob store作为Alluxio根挂载点的UFS,您需要通过修改conf/alluxio-site.properties
配置Alluxio使用底层存储系统。如果这个文件不存在,重命名template文件。
$ cp conf/alluxio-site.properties.template conf/alluxio-site.properties
首先修改conf / alluxio-site.properties
来指定underfs address:
alluxio.master.mount.table.root.ufs=wasb://<AZURE_CONTAINER>@<AZURE_ACCOUNT>.blob.core.windows.net/<AZURE_DIRECTORY>/
其次,将以下属性添加到conf/alluxio-site.properties
来指定根挂载点的Azure account证书:
alluxio.master.mount.table.root.option.fs.azure.account.key.<AZURE_ACCOUNT>.blob.core.windows.net=<YOUR ACCESS KEY>
嵌套挂载
Azure blob store位置可以挂载在Alluxio命名空间中的嵌套目录中,以便统一访问到多个底层存储系统。Alluxio的用户CLI可以用于此目的。
$ ./bin/alluxio fs mount \
--option fs.azure.account.key.<AZURE_ACCOUNT>.blob.core.windows.net=<AZURE_ACCESS_KEY>\
/mnt/azure wasb://<AZURE_CONTAINER>@<AZURE_ACCOUNT>.blob.core.windows.net/<AZURE_DIRECTORY>/
完成这些修改后,Alluxio应该已经配置好以使用Azure Blob Store作为底层存储系统,你可以使用它本地运行Alluxio。
使用Azure Blob Store本地运行Alluxio
完成所有配置之后,你可以本地运行Alluxio,观察是否一切运行正常。
./bin/alluxio format
./bin/alluxio-start.sh local
该命令应当会启动一个Alluxio master和一个Alluxio worker,可以在浏览器中访问http://localhost:19999查看master Web UI。
接着,你可以运行一个简单的示例程序:
./bin/alluxio runTests
运行成功后,你可以访问你的容器<AZURE_CONTAINER>
,确认其中包含了由Alluxio创建的文件和目录。该测试中,创建的文件名应该像下面这样:
<AZURE_CONTAINER>/<AZURE_DIRECTORY>/default_tests_files/BASIC_CACHE_PROMOTE_CACHE_THROUGH
若要停止Alluxio,你可以运行以下命令:
./bin/alluxio-stop.sh local