上云无忧 > 文档中心 > 百度智能云对象存储BOS工具 - BOS Alluxio Extension使用教程
对象存储BOS
百度智能云对象存储BOS工具 - BOS Alluxio Extension使用教程

文档简介:
Alluxio是一个开源的基于内存的分布式存储系统(a memory speed virtual distributed storage system)。 在大数据生态系统中,Alluxio 位于数据驱动框架或应用(如 Apache Spark等)和各种持久化存储系统(如BOS、HDFS、S3等)之间。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

Alluxio是什么

Alluxio是一个开源的基于内存的分布式存储系统(a memory speed virtual distributed storage system)。

在大数据生态系统中,Alluxio 位于数据驱动框架或应用(如 Apache Spark等)和各种持久化存储系统(如BOS、HDFS、S3等)之间。Alluxio 统一了存储在这些不同存储系统中的数据,为其上层数据驱动型应用提供统一的客户端 API 和全局命名空间。

通过Alluxio使用BOS的优势

Alluxio内存至上的层次化架构使得对BOS数据的访问能够更便捷,对于频繁访问的数据,大幅减少对BOS接口的请求次数。

  • 内存级的 I/O 吞吐率,Alluxio的层次化存储机制能够充分利用缓存的频繁访问的数据
  • 有效降低对象存储中的一些操作(如列出目录、重命名)的时延
  • 简化数据管理,Alluxio支持对多源数据的单点访问
  • 兼容性,现有的数据分析应用程序,如 Spark 和 MapReduce 程序,无需更改任何代码就能在 Alluxio 上运行

智能缓存,可根据需要配置写策略:

  • MUST_CACHE:只写cache,适用于不需要保存的临时数据,虽然丢失数据风险高,但性能最好
  • THROUGH:对于近期不会使用的数据可以直接写进BOS,在Alluxio中为其他频繁读取的数据留出更多的内存空间
  • CACHE_THROUGH: 同步写Alluxio和BOS,数据很快会被其他Alluxio应用使用
  • ASYNC_THROUGH:默认模式,写cache,异步写BOS,适用于需要持久化,并且不需要立即使用的数据

快速开始

部署

  1. 下载Alluxio、预编译的BOS底层存储alluxio-underfs-bos并解压
  2. 安装alluxio-underfs-bos的jar包
$ cd {ALLUXIO_HOME} $ ./bin/alluxio extensions install <path>/alluxio-underfs-bos-0.1.0.jar
  1. 在${ALLUXIO_HOME}/conf目录下,根据模板文件创建conf/alluxio-site.properties配置文件,配置BOS的AK/SK,并支持临时授权访问STS。
$ cp conf/alluxio-site.properties.template conf/alluxio-site.properties

fs.bos.accessKey=<BOS_AK> fs.bos.secretKey=<BOS_SK> fs.bos.endpoint=<BOS_ENDPOINT>
 alluxio.user.file.writetype.default=CACHE_THROUGH

Alluxio挂载BOS

  1. 格式化 Alluxio 的日志和 worker 存储目录。
$ ./bin/alluxio format
  1. 在 localhost 启动 Alluxio
$ ./bin/alluxio-start.sh local
  1. 创建一个目录,并挂载BOS,BOS上需要有一个bucket,此处以"test-979"桶为例
$ ./bin/alluxio fs mkdir /mnt
Successfully created directory /mnt
$ ./bin/alluxio fs mount /mnt/bos bos://test-979
Mounted bos://test-979 at /mnt/bos
  1. 复制本地文件到Alluxio
$ ./bin/alluxio fs copyFromLocal LICENSE /mnt/bos
Copied file:///alluxio-2.0.0/LICENSE to /mnt/bos
  1. 使用list命令查看刚刚复制过去的文件,回显的各参数含义:权限、文件大小、是否被持久化到BOS、创建日期、Alluxio中这个文件的缓存占比、文件名
$ ./bin/alluxio fs ls /mnt/bos/LICENSE
-rwxrwxrwx 27040 PERSISTED 07-21-2020 15:06:46:000 100% /mnt/bos/LICENSE
  1. 停止Alluxio
$ ./bin/alluxio-stop.sh local

体验Alluxio加速访问BOS数据

Alluxio利用内存存储数据,通过它可以更快地访问BOS数据。体验一下:

  1. list查看/mnt/bos目录下文件列表,0%表示该文件不在Alluxio内存中
$ time ./bin/alluxio fs ls /mnt/bos
-rwxrwxrwx 27040 PERSISTED 07-21-2020 15:06:46:000 0% /mnt/bos/LICENSE
-rwxrwxrwx 51307896 PERSISTED 07-21-2020 15:05:49:000 0% /mnt/bos/alluxio-underfs-bos-0.1.0.jar
real	0m2.297s
user	0m2.703s
sys	0m0.269s
  1. 统计单词"the"在文件/mnt/bos/LICENSE中出现的次数
$ time ./bin/alluxio fs cat /mnt/bos/LICENSE | grep -c the 200 real	0m3.357s
user	0m2.974s
sys	0m0.289s
  1. 读取过的BOS数据会放在内存中,再次读取时可以更快访问到,100%表示该文件已全部被加载到Alluxio内存中
$ ./bin/alluxio fs ls //mnt/bos/LICENSE
-rwxrwxrwx 27040 PERSISTED 07-21-2020 15:06:46:000 100% /mnt/bos/LICENSE
  1. 再次统计单词"the"在文件/mnt/bos/LICENSE中出现的次数,3.357s → 2.189s,第二次无需从BOS拉取数据,耗时明显缩短
$ time ./bin/alluxio fs cat /mnt/bos/LICENSE | grep -c the 200 real	0m2.189s
user	0m2.835s
sys	0m0.286s
  1. 再次list查看/mnt/bos目录下文件列表,2.297s → 1.793s,也会更快
$ time ./bin/alluxio fs ls /mnt/bos
-rwxrwxrwx 27040 PERSISTED 07-21-2020 15:06:46:000 100% /mnt/bos/LICENSE
-rwxrwxrwx 51307896 PERSISTED 07-21-2020 15:05:49:000 0% /mnt/bos/alluxio-underfs-bos-0.1.0.jar
real	0m1.793s
user	0m2.630s
sys	0m0.238s
相似文档
  • BOSFTP是一个基于Python实现的BOS的FTP server工具,将FTP协议的操作转化为对BOS中存储的对象、目录的操作。支持文件上传、下载、删除以及创建文件夹等操作。
  • 说明:第三方工具主要由论坛的第三方开发者提供,由于这些工具并非官方提供,可能会存在一些bug,请大家谨慎使用。 目前BOS支持的第三方工具有:wordpress插件、Discuz插件、UCenter插件和Python flash。
  • 为了方便用户使用百度智能云存储服务的API,BCE提供了可以通过命令行工具BCE CLI(Command Line Interface)调用BOS服务的方式,该工具基于BCE Python SDK实现。
  • 前提条件: BOS CLI命令行工具(即BCE CLI)基于Python 2.7开发,根据操作系统安装相应Python 2.7,目前支持Windows 和Linux。 操作步骤: 1.准备Python环境。 Windows环境: 在Python官网下载python27.msi后,双击安装。
  • 配置支持中文显示的CLI环境。 如需要配置支持中文显示的CLI环境,请执行如下命令配置: $ export LANG=en_US.UTF-8 说明:可先执行$ locale命令查看当前环境的语言支持情况,若不是LANG=en_US.UTF-8,可执行上述命令进行修改。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部