Alluxio 1.5.0开源发布版的技术亮点

简介:

开源Alluxio 1.5.0已经发布了大量的新功能和改进。Alluxio允许任何应用程序以内存级速度且透明地从任何存储系统访问数据。与生态系统中的其他技术的互操作性是实现这一目标的重要一步,在1.5.0版本中,我们从以下几个关键方面改进了Alluxio的可访问性。

  • Alluxio Docker集成
  • Alluxio Golang Client
  • 使用S3A在Ceph上部署Allluxio
  • 挂载特定配置属性

1.Alluxio Docker集成

Alluxio 1.5.0添加了文档和脚本,以便在Docker容器中运行Alluxio。可以使用-e参数传递Alluxio配置参数,并将日志写入stdout,以便它们显示在docker日志的输出中。下面的例子演示了如何在HDFS上通过Docker容器运行Alluxio。

cd alluxio-1.5.0/integration/docker
docker build -t alluxio .

docker run -d --net=host \
           -e ALLUXIO_UNDERFS_ADDRESS=hdfs://HdfsMaster:9000/ \
           alluxio master

docker run -d --net=host --shm-size=10GB \
           -e ALLUXIO_MASTER_HOSTNAME=AlluxioMaster \
           -e ALLUXIO_WORKER_MEMORY_SIZE=10GB \
           -e ALLUXIO_UNDERFS_ADDRESS=hdfs://HdfsMaster:9000/ \
           alluxio worker

在EC2实例上通过Docker容器运行Alluxio的相关教程, 请参阅文档

2.Alluxio Golang Client

此前,Alluxio推出了一个代理进程,默认情况下与每一个Alluxio Master和Worker一起运行,并且提供了REST API,相当于Alluxio本地文件系统API。为了能基于REST API与Alluxio进行交互,在1.5.0版本中,Alluxio推出了GO Client。该客户端可从其自身的Repository中获取,通过“go get”机制导入用户程序中。
除了提供在GO环境下与Allluxio通信外,该客户端的实现也体现了基于REST API实现一种语言绑定Alluxio是十分容易的。
注意通过REST API与Alluxio通信需要额外的网路跳数和(或)内存副本,因此预期其性能不如原生Java客户端。另一方面,基于REST API的客户端都将从任何本地java客户端的改进中受益,意味着GO Client 与其他针对REST API开发的客户端将始终具有最新特性。
下面的例子演示了使用GO程序与Alluxio交互:

package main

import (
"fmt"
    "log"

    alluxio "github.com/Alluxio/alluxio-go"
    "github.com/Alluxio/alluxio-go/option"
)

func main() {
    fs := alluxio.NewClient(<proxy-host>, <proxy-port>, <timeout>)
    ok, err := fs.Exists(<path>, &option.Exists{})
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(“path %v exists: %v”, <path>, ok)
}

3.使用S3A在Ceph上部署Allluxio

在1.5.0版本中,Alluxio可以使用S3A连接器连接到Ceph。相较于Swift连接器,S3A连接器提供了显着的功能和性能改进。
如下图所示,当读取1 GB大小的文件时,S3A连接器的读取性能可提高3倍。

image


4.挂载特定配置属性

使用Alluxio的一个重要优势是将不同的底层文件系统(如S3,HDFS,GCS等)映射到一个统一的Alluxio命名空间,与在本地文件系统上设备类似,每个文件系统都位于隔离的挂载点下。从1.5.0版本开始,除了遵守特定类型的存储系统的全局配置设置外,Alluxio还支持为每一个挂载点设置(各自的)配置属性。配置且挂载不同底层文件系统后,访问这些系统对于Alluxio文件系统应用来说是完全透明的。因此,Alluxio可以帮助系统管理员隐藏复杂性并且降低管理难度。
举例说明,用户Alice在AWS上有多个S3 bucket,她需要从不同的bucket中访问数据。原来Alice只能将共享同一系统认证密钥的S3 bucket挂载到Alluxio中,而现在Alice可以使用单独的认证密钥挂载每个bucket,如下所示:

$ bin/alluxio fs mount /mnt1 s3a://alice-bucket1/ --option aws.accessKeyId=<accessKey1> --option aws.secretKey=<secretKey1>
$ bin/alluxio fs mount /mnt2 s3a://alice-bucket2/ --option aws.accessKeyId=<accessKey2> --option aws.secretKey=<secretKey2>

此后,所有认证的Alluxio用户可以自由访问 /mnt1 和 /mnt2,甚至没有注意到它们来自两个不同的桶,并使用不同的认证密钥进行访问。

5.更多

本博客仅强调了Alluxio 1.5.0中的一些新功能和改进。 更详细的内容,请查看发行说明
您可以按照快速入门指南,轻松开始使用Alluxio开源版或社区版

版权申明:本文由南京大学顾荣等专家翻译整理自Alluxio公司技术博客,由Alluxio公司授权云栖社区及CSDN首发(联合),版权归Alluxio公司所有,未经版权所有者同意请勿转载。

相关文章
|
6天前
|
人工智能 文字识别 物联网
新一代端侧模型,面壁 MiniCPM 2.0开源,魔搭社区最佳实践
MiniCPM-V 2.0 不仅带来优秀端侧多模态通用能力,更带来惊艳的 OCR 表现。通过自研的高清图像解码技术,可以突破传统困境,让更为精准地识别充满纷繁细节的街景、长图在端侧成为可能。
|
4月前
|
存储 Rust 数据库
重磅发布!!!蚂蚁图团队开源高性能原生图存储系统CStore
CStore是一款专门为图分析场景而设计的原生图存储引擎,它采用了Rust语言编写,使用基于图的存储结构,针对图分析场景进行特定优化。CStore可以存储包含千亿级点和万亿级边的图数据,在蚂蚁集团内部的多场景使用中,已经积累了多年的经验,存储容量达到了PB级别。
重磅发布!!!蚂蚁图团队开源高性能原生图存储系统CStore
|
3月前
|
存储 消息中间件 分布式计算
重磅开源!阿里巴巴分布式核心原理,成功登顶GitHub周榜!
分布式系统架构是当今互联网企业的重要基础设施,它能够支撑海量用户并发访问和亿级数据量的超大规模业务系统。阿里巴巴作为互联网巨头,在分布式架构方面有着丰富的经验与成果(文末有免费领取方式!)
|
8月前
|
存储 Kubernetes 架构师
干货!阿里「大型分布式技术手册」现已开源
其实当你真正去使用这些不同的架构方法去解决问题,然后在实践中观察它们的优劣,这确实会是一种很好的成长方式,但这是一个漫长的过程,而且没有哪个大厂会花时间让你自己去探索,所以这些经验又要从哪儿来呢? 答案是:前人的经验。既然别人已经总结了一套通过实践得来的经验,那我们为什么不去用呢?将别人的知识学会再变为自己的,才叫厉害。
|
9月前
|
机器学习/深度学习 人工智能 达摩院
隐语开源社区「2022年度开源报告」
隐语开源社区「2022年度开源报告」
279 1
业界新标杆!阿里开源自研高并发编程核心笔记(2023最新版)
提到并发编程很多人就会头疼了;首先就是一些基础概念:并发,并行,同步,异步,临界区,阻塞,非阻塞还有各种锁全都砸你脸上,随之而来的就是要保证程序运行时关键数据在多线程中的可见性、核心业务的原子性、多线程通信的有序性。虽然很多人工作可能接触不到这些的东西,但是面试就是得问。假如你跟一个有过高并发编程经验的人一起面试同一个岗位,你就是背了些面试题,而人家是确确实实有真东西的,那后续的录用结果想必就不用我多说了吧~
|
SQL 存储 分布式计算
阿里云EMR 2.0:兼容开源,贡献开源,超越开源
本文整理自阿里云资深技术专家吴威(无谓)在 阿里云EMR2.0线上发布会 的分享。本文从开源的角度出发,分享了阿里云EMR团队的工作。
908 0
阿里云EMR 2.0:兼容开源,贡献开源,超越开源
|
Cloud Native Java Go
社区会议|MOSN 社区将会发布 1.0 版本,同时推动下一代架构演进
2 月 24 日,MOSN 举办了 2022 年首次的社区会议。 MOSN 社区在会议上提出了新一年的 Roadmap,社区成员分享了 MOSN 在不同场景下落地实践的经验,以及大家一起大开脑洞,探讨了更多我们可以创造的可能性。
社区会议|MOSN 社区将会发布 1.0 版本,同时推动下一代架构演进
|
分布式计算 Oracle 关系型数据库
开源,从社区到商业化
随着软件吞噬了世界,开源正在吞噬软件。 今天,几乎所有主要的科技公司,从 Facebook 到 Google,都是在开源软件的基础上发展起来的。 这些公司越来越多地建立自己的开源项目,例如 Airbnb 有 30 多个开源项目,Google 有 2000 多个。
开源,从社区到商业化
|
SQL 机器学习/深度学习 资源调度
重磅!《Apache Flink 十大技术难点实战》发布,帮你从容应对生产环境中的技术难题
总结生产环境十大常见难点,10篇技术实战文章帮你完成故障识别、问题定位、性能优化等全链路过程,实现从基础概念的准确理解到上手实操的精准熟练,从容应对生产环境中的技术难题!
重磅!《Apache Flink 十大技术难点实战》发布,帮你从容应对生产环境中的技术难题