Alluxio增强Spark和MapReduce存储能力
Alluxio的前身为Tachyon。Alluxio是一个基于内存的分布式文件系统;Alluxio以内存为中心设计,他处在诸如Amazon S3、 Apache HDFS 或 OpenStack Swift存储系统和计算框架应用Apache Spark 或Hadoop MapReduce中间,它是架构在底层分布式文件系统和上层分布式计算框架之间的一个中间件。
对上层应用来讲。Alluxio是一个管理数据訪问和高速存储的中间层,对底层存储而言。Alluxio消除了大数据业务和存储系统依赖和鸿沟, 隐藏底层存储的差异,主要职责是以文件形式在内存或其它存储设施中提供数据的存取服务。Alluxio支持的后端存储包含GCS、S3、Swift、GlusterFS、HDFS、MapR-FS、 secure HDFS、AlibabaOSS和NFS。
Alluxio应用场景
通常,在大数据领域,最底层的是分布式文件系统,如Amazon S3、Apache HDFS等,而较高层的应用则是一些分布式计算框架。如Spark、MapReduce、Hbase、Flink等,这些分布式框架。往往都是直接从分布式文件系统中读写数据,效率比較低。性能消耗比較大。
Alluxio居于传统大数据存储(如Amazon S3,Apache HDFS和OpenStack Swift等) 和大数据计算框架(如Spark,Hadoop Mapreduce)之间。为那些大数据应用提供一个数量级的加速,并且它仅仅要提供通用的数据訪问接口。就能非常方便的切换底层分布式文件系统。
Alluxio的组件
Alluxiozh包含一个Master和多个workers。在逻辑上 Alluxio由master、workers和clients组成。通过master和workers一起协同工作来提供服务并有协同管理员来维护和管理。而clients一般面向的就是大数据应用程序,如Spark 或MapReduce任务,它是数据訪问的发起者。通常情况。Alluxio用户仅仅须要跟client 进行交互,clients为用户提供统一的文件存取服务接口。
Alluxio系统架构
与其它诸如HDFS、HBase、Spark等大数据相关框架一致,Alluxio的主节点为Master,Alluxio支持部署一个或两个Master节点。即单节点或HA模式。Master负责管理全局的文件系统元数据,比方文件系统树等,Clients跟Master交互获取元数据。而从节点Worker负责管理本节点数据存储资源,这些资源包含本地Memory、SSD或HDD。
当HDFS、HBase、Spark等应用程序须要訪问Alluxio时。通过客户端先与主节点Master通讯,然后再和相应Worker节点通讯,进行实际的文件存取操作。全部的Worker会周期性地发送心跳给Master。维护文件系统元数据信息和确保自己被Master感知到,并在集群中正常提供服务。与HDFS、HBase等分布式系统设计模式是一致,Master不会主动发起与其它组件的通信。它仅仅是以回复请求的方式与其它组件进行通信。降低Master的工作负载。
Alluxio的生态
利用Alluxio将NAS设备接入Hadoop生态链。Dell EMC就ECS产品签订了合作协议。华为、HDS、HPE和NetApp也跟Alluxio有相似合作;通过一个中间层。可以让Hadoop、Spark、Storm、samza等选择訪问不论什么一种后端存储数据源。如 9000,AWS S3、HDFS、Ceph、Isilon、Gluster等。
搜索“ICT_Architect”增加微信公众号“架构师技术联盟”获取很多其它精彩内容。
Alluxio增强Spark和MapReduce存储能力的更多相关文章
- 重要 | Spark和MapReduce的对比,不仅仅是计算模型?
[前言:笔者将分上下篇文章进行阐述Spark和MapReduce的对比,首篇侧重于"宏观"上的对比,更多的是笔者总结的针对"相对于MapReduce我们为什么选择Spar ...
- Spark 颠覆 MapReduce 保持的排序记录
在过去几年,Apache Spark的採用以惊人的速度添加着,通常被作为MapReduce后继,能够支撑数千节点规模的集群部署. 在内存中数 据处理上,Apache Spark比MapReduce更加 ...
- Local Response Normalization作用——对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力
AlexNet将LeNet的思想发扬光大,把CNN的基本原理应用到了很深很宽的网络中.AlexNet主要使用到的新技术点如下. (1)成功使用ReLU作为CNN的激活函数,并验证其效果在较深的网络超过 ...
- 详解MapReduce(Spark和MapReduce对比铺垫篇)
本来笔者是不打算写MapReduce的,但是考虑到目前很多公司还都在用这个计算引擎,以及后续要讲的Hive原生支持的计算引擎也是MapReduce,并且为Spark和MapReduce的对比做铺垫,笔 ...
- spark与mapreduce的区别
spark是通过借鉴Hadoop mapreduce发展而来,继承了其分布式并行计算的优点,并改进了mapreduce明显的缺陷,具体表现在以下几方面: 1.spark把中间计算结果存放在内存中,减少 ...
- spark和 mapreduce的比较
网上查阅一些资料,收集整理如下: 1. 通用性 spark更加通用,spark提供了transformation和action这两大类的多个功能api,另外还有流式处理sparkstreaming模块 ...
- 云数据库RDS存储能力进化解析!
数据库是企业IT系统的核心,其性能表现会直接影响整体业务系统的性能表现,而影响数据库性能因素包括系统架构设计.应用程序业务SQL语句.数据库参数优化配置.数据库运行的资源能力.系统架构设计和应用程序业 ...
- Spark的数据存储
Spark本身是基于内存计算的架构,数据的存储也主要分为内存和磁盘两个路径.Spark本身则根据存储位置.是否可序列化和副本数目这几个要素将数据存储分为多种存储级别.此外还可选择使用Tachyon来管 ...
- Spark 与 MapReduce的区别
学习参考自 http://spark-internals.books.yourtion.com/markdown/4-shuffleDetails.html 1. Shuffle read 边 fe ...
随机推荐
- Ubuntu Linux14 64位下在Android studio下用gradle编译Andrid项目时发生libz.so.1共享库找不到的解决方法。
---恢复内容开始--- 我在Ubuntu14 64为下安装了AS,但在用Gradle编译项目时总是报找不到 libz.so.1的错误. error while loading shared libr ...
- 阿里云ECS安装sqlserver,本地无法连接问题排查思路
1. 阿里云控制台-对应的ECS实例的安全组是否添加了响应的端口(1433)可以访问: 2. 服务器-sqlserver服务是否开启: 3. 服务器-sqlserver配置器,对应的端口是否启用,已经 ...
- C#中练级orcle数据查询
直接贴代码哈哈哈, public DataTable getInfo(int flag) { OracleConnection conn = null; DataSet ds = new DataSe ...
- java解决动态的锁顺序死锁的方案
直接上代码 public class Test3 { public static Object fromAccount = new String("1"); public stat ...
- controller,sevices层,java初步了解
一.controller层 二.service层 1.接口 2.接口的实现 转换 ClearingAccountArgument对象
- 在计算机中简单的hello程序的运行
我之前很好奇就是你所写的代码到底是如何在计算机中执行的,到底是怎样开始,从哪里开始,在哪里执行,到哪里结束,之间到底是怎么的一个过程,带着这些问题,逐渐看这方面的书籍,最近买的<深入理解计算机系 ...
- CSU1018: Avatar
1018: Avatar Submit Page Summary Time Limit: 1 Sec Memory Limit: 128 Mb Submitted: 841 ...
- [Python3网络爬虫开发实战] 6.2-Ajax分析方法
这里还以前面的微博为例,我们知道拖动刷新的内容由Ajax加载,而且页面的URL没有变化,那么应该到哪里去查看这些Ajax请求呢? 1. 查看请求 这里还需要借助浏览器的开发者工具,下面以Chrome浏 ...
- 爬虫基础spider 之(一) --- 初识爬虫
爬虫概念 (spider,网络蜘蛛)通过互联网上一个个的网络节点,进行数据的提取.整合以及存储.从而获取我们想要的部分 robots协议 robots协议不是技术层面的协议,只是一个君子协定: 首先在 ...
- 02--Activiti初始化表
初始化数据库 方法一:执行sql脚本文件activiti-5.13\database\create\activiti.mysql.create.*.sql文件 方法二:代码创建(有流程自然就有表) p ...