Alluxio 1.5.0开源发布版的技术亮点
来源:互联网 发布:盐城大数据产业园官网 编辑:程序博客网 时间:2024/06/01 22:57
本文由南京大学顾荣、尹良良翻译整理自Alluxio公司技术博客,由Alluxio公司授权CSDN首发(联合),版权归Alluxio公司所有,未经版权所有者同意请勿转载。
开源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/dockerdocker build -t alluxio .docker run -d --net=host \ -e ALLUXIO_UNDERFS_ADDRESS=hdfs://HdfsMaster:9000/ \ alluxio masterdocker 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 mainimport ("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倍。
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 1.5.0开源发布版的技术亮点
- 基于Alluxio系统的Spark DataFrame高效存储管理技术
- HEVC(H.265)的技术亮点
- HEVC(H.265)的技术亮点
- Revit 2016英文版发布,Revit2016 产品以及API的亮点
- alluxio的适用场景
- alluxio
- Alluxio
- Sun公司的 Java 6 的十大技术亮点
- 网络管理技术的亮点以及下一步发展趋势
- 视频编码新标准H.264的技术亮点(转)
- Java SE 6(JDK1.6)的十大新技术亮点
- Delphi2009(Tiburon)官方博客透露的技术亮点
- Java SE 6(JDK1_6)的十大新技术亮点
- 黑帽大会的十二个最新技术亮点
- 黑帽大会的十二个最新技术亮点
- 网络管理技术的亮点以及下一步发展趋势
- RTC3.0版本的一些亮点
- 《hbase学习》-03-命令行load数据文件到Hbase
- 【异常和错误】PHP的异常和错误处理【原创】
- http range header
- Dubbo 回调用服务的处理逻辑
- 对于堆栈的疑问
- Alluxio 1.5.0开源发布版的技术亮点
- hdu_5104_素数表的应用
- jdbc之批处理
- 对于ie8和ie8一下版本不支持placeholder(文本框提示信息)的解决方案
- Windows PowerShell 2.0之服务管理
- 工作中的坑-----javabean属性命名
- UI自动化体系建设的创新实践
- 最后的战犯
- 九度1026:又一版A+B