Alluxio学习
Alluxio学习
1 基本概念
1.1 Alluxio是什么
Alluxio,曾用名Tachyon
,是一个开源的虚拟分布式存储系统。
Alluxio源自 UC Berkeley 的 AMPLab(见论文),在伯克利数据分析栈 (Berkeley Data Analytics Stack, BDAS) 中扮演数据访问层的角色
他将计算框架和存储层桥接,具体做法是将数据从存储层移动到距离数据驱动应用很近的地方,使得应用可以通过通用接口来访问数据量巨大的存储系统。 Alluxio内存至上的层次化架构可使得数据的访问速度能比现有方案快几个数量级。
在一些大公司的生产实践中,Alluxio被用来管理PB级别的数据,最大的已经部署了超过1300个节点。
1.2 Alluxio在大数据生态中的位置
如上图所示,在整个大数据生态中,Alluxion位于数据驱动应用(如Spark、Presto、HBase、Hive、Flink、Tensorflow等)和数据持久化存储系统(如HDFS、OSS等)之间。Alluxio统一了这些不同数据源的数据存储,并为上层数据驱动因一共启动了统一的访问API、全局Namespace
。
1.3 Alluxio优势
-
统一访问入口,底层存储对用户透明
Alluxio通过屏蔽底层存储细节,简化了应用程序访问其数据的方式,方便从异构数据源中提取信息。且Alluxio拥有对所有底层数据源的统一Namespace,并提供统一的标准化访问接口。
-
达到内存速度的 I/O
Alluxio 可够用作分布式共享缓存服务,这样与 Alluxio 通信的计算应用程序可以对客户端透明地缓存那些频繁访问的数据(尤其是距离较远、访问成本较高数据),以提供内存级 I/O 吞吐率。 -
多级缓存
此外,Alluxio可充当读写底层数据源的缓存,他的层次化存储机制能够充分利用内存、SSD或磁盘,弹性可伸缩,从而降低成本。这些缓存对使用者透明。
-
简化云存储和对象存储接入
与传统文件系统相比,云存储系统和对象存储系统使用不同的语义,这些语义对性能的影响也不同于传统文件系统。比如,云存储和对象存储系统上进行常见的文件系统操作(如列出目录和重命名)通常会导致大量的性能开销。当访问云存储中的数据时,应用程序是没有Node级别的数据本地性或跨应用程序缓存的。
这种场景下,如果将 Alluxio 与云存储或对象存储服务一起部署则可以缓解这些问题,用户可以直接从 Alluxio 中检索读取数据。
-
简化数据管理
除了可同时连接不同类型的数据源之外, 甚至还允许同时连接同一存储系统的不同版本,且无需复杂的系统配置和管理。 -
清晰的Alluxio web UI
-
应用和Alluxio配合
Alluxio 管理应用程序和文件或对象存储之间的通信,将数据访问请求转换为底层具体存储接口的请求。Alluxio 与 Hadoop 生态系统兼容,现有的数据分析应用程序,如 Spark 和 MapReduce 程序,无需修改任何代码就能在 Alluxio 之上运行。
2 Alluxio下载、安装、部署
2.1
更多好文
本文地址:https://blog.csdn.net/baichoufei90/article/details/107322069
推荐阅读