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公司所有,未经版权所有者同意请勿转载。

相关文章
|
16天前
|
消息中间件 Docker 索引
【一文解读】阿里自研开源核心搜索引擎 Havenask简介及发展历史
本次分享内容为Havenask的简介及发展历史,由下面五个部分组成(Havenask整体介绍、名词解释、架构、代码结构、编译与部署),希望可以帮助大家更好了解和使用Havenask。
155 0
【一文解读】阿里自研开源核心搜索引擎 Havenask简介及发展历史
|
27天前
|
人工智能 文字识别 物联网
新一代端侧模型,面壁 MiniCPM 2.0开源,魔搭社区最佳实践
MiniCPM-V 2.0 不仅带来优秀端侧多模态通用能力,更带来惊艳的 OCR 表现。通过自研的高清图像解码技术,可以突破传统困境,让更为精准地识别充满纷繁细节的街景、长图在端侧成为可能。
|
5月前
|
存储 Rust 数据库
重磅发布!!!蚂蚁图团队开源高性能原生图存储系统CStore
CStore是一款专门为图分析场景而设计的原生图存储引擎,它采用了Rust语言编写,使用基于图的存储结构,针对图分析场景进行特定优化。CStore可以存储包含千亿级点和万亿级边的图数据,在蚂蚁集团内部的多场景使用中,已经积累了多年的经验,存储容量达到了PB级别。
重磅发布!!!蚂蚁图团队开源高性能原生图存储系统CStore
|
9月前
|
存储 Kubernetes 架构师
干货!阿里「大型分布式技术手册」现已开源
其实当你真正去使用这些不同的架构方法去解决问题,然后在实践中观察它们的优劣,这确实会是一种很好的成长方式,但这是一个漫长的过程,而且没有哪个大厂会花时间让你自己去探索,所以这些经验又要从哪儿来呢? 答案是:前人的经验。既然别人已经总结了一套通过实践得来的经验,那我们为什么不去用呢?将别人的知识学会再变为自己的,才叫厉害。
业界新标杆!阿里开源自研高并发编程核心笔记(2023最新版)
提到并发编程很多人就会头疼了;首先就是一些基础概念:并发,并行,同步,异步,临界区,阻塞,非阻塞还有各种锁全都砸你脸上,随之而来的就是要保证程序运行时关键数据在多线程中的可见性、核心业务的原子性、多线程通信的有序性。虽然很多人工作可能接触不到这些的东西,但是面试就是得问。假如你跟一个有过高并发编程经验的人一起面试同一个岗位,你就是背了些面试题,而人家是确确实实有真东西的,那后续的录用结果想必就不用我多说了吧~
|
SQL 存储 分布式计算
阿里云EMR 2.0:兼容开源,贡献开源,超越开源
本文整理自阿里云资深技术专家吴威(无谓)在 阿里云EMR2.0线上发布会 的分享。本文从开源的角度出发,分享了阿里云EMR团队的工作。
924 0
阿里云EMR 2.0:兼容开源,贡献开源,超越开源
|
存储 Kubernetes Cloud Native
OpenKruise 如何实现 K8s 社区首个规模化镜像预热能力
OpenKruise 是阿里云开源的云原生应用自动化管理套件,也是当前托管在 Cloud Native Computing Foundation (CNCF) 下的 Sandbox 项目。它来自阿里巴巴多年来容器化、云原生的技术沉淀,是阿里内部生产环境大规模应用的基于 Kubernetes 之上的标准扩展组件,也是紧贴上游社区标准、适应互联网规模化场景的技术理念与最佳实践。
OpenKruise 如何实现 K8s 社区首个规模化镜像预热能力
|
SQL 机器学习/深度学习 资源调度
重磅!《Apache Flink 十大技术难点实战》发布,帮你从容应对生产环境中的技术难题
总结生产环境十大常见难点,10篇技术实战文章帮你完成故障识别、问题定位、性能优化等全链路过程,实现从基础概念的准确理解到上手实操的精准熟练,从容应对生产环境中的技术难题!
重磅!《Apache Flink 十大技术难点实战》发布,帮你从容应对生产环境中的技术难题
2017年阿里开源了14个核心技术,你了解哪些?- 测试
在开源中国举行的“2017年度最受欢迎中国开源软件Top20”的评选中,阿里巴巴占据五席位。
775 0
7月10日直播【E-MapReduce产品探秘,扩展开源生态云上的能力】
E-MapReduce的产品能力介绍,通过EMR来构建高效的云上大数据平台,优化云上的使用成本,更快的计算效率。