mysqli_query()用法 存储过程 参数_Alluxio实战手册之外部存储挂载命令(mount)篇

17ee8ba1c503f256ff62d0f2acb7d5db.png

mount命令可以说是Alluxio最有特色的命令之一. 它类似于Linux里的mount命令---Linux用户可以通过Linux mount把硬盘, SSD等存储设备加载到这台Linux系统的本地文件系统中. 而在Alluxio系统当中, mount的概念进一步被扩展到了分布式系统一层: 用户可以通过Alluxio mount把一个或多个其他的存储系统/云存储服务(诸如HDFS, S3, Azure等), 挂载到Alluxio这个分布式文件系统当中去. 从而运行在Alluxio上的分布式应用, 诸如Spark, Presto或者MapReduce等, 不需要去适配甚至了解具体的数据访问协议和路径, 而只需要知道数据对应在Alluxio 文件系统的路径就已足够. 从而极大的方便了应用的开发和维护.

常用链接

  • Alluxio项目官网
  • Alluxio Inc网站
  • Alluxio在各大厂用例
  • 关注Alluxio微信公众号: Alluxio_China

基本用法

这里我们用一个简单的例子来演示mount命令的基本用法. 假设我们有HDFS和S3两个不同的存储系统, 分别存储了用户信息(hdfs://localhost:9000/users)和文档信息(s3a://apc999/docs). 现在我们可以把两套系统同时挂载到Alluxio当中, 使得用户和文档信息看起来只是保存在同一个文件系统的不同目录里, 如下图所示.

7d9150d23fd0aa18b8f9c9508d762a27.png
将一个HDFS集群以及一个S3 bucket挂载至alluxio. 其中S3对应alluxio://docs/目录, 而HDFS对应alluxio根目录下除了docs以外其他所有路径

设定根目录挂载

Alluxio的根目录必须是一个挂载点. 所以启动Alluxio之前, 在conf/alluxio-site.properties当中设置:

# 指定Alluxio根目录对应HDFS
alluxio.underfs.address=hdfs://localhost:9000/users/
# 访问S3的credentials
aws.accessKeyId=<S3_ACCESS_KEY>
aws.secretKey=<S3_SECRET_KEY>

设定其他目录挂载

待Alluxio启动完毕, 再挂载S3 bucket到挂载点 alluxio:///docs

$ bin/alluxio fs mount /docs s3a://apc999/docs
Mounted s3a://apc999/docs at /docs

至此, Alluxio应用就可以在alluxio://docs/下访问S3里的文档数据, 以及在alluxio:///users/下访问HDFS里的用户数据.

查看当前所有的挂载点

不附加参数的mount命令可以查看当前所有的挂载点

$ bin/alluxio fs mount
s3a://apc999/data       on  /docs  (s3, capacity=-1, used bytes=-1, not read-only, not shared, properties={aws.secretKey=<S3_SECRET_KEY>, aws.accessKeyId=<S3_ACCESS_KEY>})
hdfs://localhost:9000/  on  /      (hdfs, capacity=500068036608, used bytes=8192, not read-only, not shared, properties={})

取消挂载点

$ bin/alluxio fs unmount /docs
Unmounted /docs

高级用法: 挂载点的参数设置

设置普通挂载点

比如我们有另一个S3 bucket, 使用和之前设定不一样的key. 那么我们可以在mount的时候通过加上--option 的选项来指定只作用于这个挂载点的参数, 比如:

$ bin/alluxio fs mount /docs2 s3a://other_bucket/docs 
--option aws.accessKeyId=<S3_ACCESS_KEY_OTHER_BUCKET> 
--option aws.secretKey=<S3_SECRET_KEY_OTHER_BUCKET>
Mounted s3a://other_bucket/docs at /docs2

这个功能另外一个常见的用处是当我们挂载不同的HDFS且他们的设置不同的时候, 可以特别指定每一个HDFS所对应的设置(core-site.xml, hdfs-site.xml)

$ bin/alluxio fs mount /hdfs2 hdfs://host:port/ 
--option alluxio.underfs.hdfs.configuration=/path/core-site.xml:/path/hdfs-site.xml

设置根目录挂载点

根目录挂载点的额外参数可以通过conf/alluxio-site.properties 来设置. 比如我们需要设置根目录挂载点的alluxio.foo.bar参数, 那么我们就在alluxio.foo.bar前加上alluxio.master.mount.table.root.option以表示这是作用于根目录挂载点的参数, 最终添加如下文本到conf/alluxio-site.properties 当中:

alluxio.master.mount.table.root.option.alluxio.foo.bar=<value>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值