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存储能力的更多相关文章

  1. 重要 | Spark和MapReduce的对比,不仅仅是计算模型?

    [前言:笔者将分上下篇文章进行阐述Spark和MapReduce的对比,首篇侧重于"宏观"上的对比,更多的是笔者总结的针对"相对于MapReduce我们为什么选择Spar ...

  2. Spark 颠覆 MapReduce 保持的排序记录

    在过去几年,Apache Spark的採用以惊人的速度添加着,通常被作为MapReduce后继,能够支撑数千节点规模的集群部署. 在内存中数 据处理上,Apache Spark比MapReduce更加 ...

  3. Local Response Normalization作用——对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力

    AlexNet将LeNet的思想发扬光大,把CNN的基本原理应用到了很深很宽的网络中.AlexNet主要使用到的新技术点如下. (1)成功使用ReLU作为CNN的激活函数,并验证其效果在较深的网络超过 ...

  4. 详解MapReduce(Spark和MapReduce对比铺垫篇)

    本来笔者是不打算写MapReduce的,但是考虑到目前很多公司还都在用这个计算引擎,以及后续要讲的Hive原生支持的计算引擎也是MapReduce,并且为Spark和MapReduce的对比做铺垫,笔 ...

  5. spark与mapreduce的区别

    spark是通过借鉴Hadoop mapreduce发展而来,继承了其分布式并行计算的优点,并改进了mapreduce明显的缺陷,具体表现在以下几方面: 1.spark把中间计算结果存放在内存中,减少 ...

  6. spark和 mapreduce的比较

    网上查阅一些资料,收集整理如下: 1. 通用性 spark更加通用,spark提供了transformation和action这两大类的多个功能api,另外还有流式处理sparkstreaming模块 ...

  7. 云数据库RDS存储能力进化解析!

    数据库是企业IT系统的核心,其性能表现会直接影响整体业务系统的性能表现,而影响数据库性能因素包括系统架构设计.应用程序业务SQL语句.数据库参数优化配置.数据库运行的资源能力.系统架构设计和应用程序业 ...

  8. Spark的数据存储

    Spark本身是基于内存计算的架构,数据的存储也主要分为内存和磁盘两个路径.Spark本身则根据存储位置.是否可序列化和副本数目这几个要素将数据存储分为多种存储级别.此外还可选择使用Tachyon来管 ...

  9. Spark 与 MapReduce的区别

    学习参考自 http://spark-internals.books.yourtion.com/markdown/4-shuffleDetails.html 1.  Shuffle read 边 fe ...

随机推荐

  1. [安卓开发板]迅为IMX6 四核Android开发板

    工业级核心板-Android开发板 10层高速PCB设计,充分保证电磁兼容 处理器:开发板默认是四核商业扩展级芯片,可根据用户需求更换单核.双核.工业级.汽车级处理器,批量更省成本. 扩展引脚:320 ...

  2. leetcode_1015. Numbers With Repeated Digits

    https://leetcode.com/problems/numbers-with-repeated-digits/ 与leetcode_357. Count Numbers with Unique ...

  3. Android(java)学习笔记188:学生信息管理系统案例(SQLite + ListView)

    1.首先说明一个知识点,通常我们显示布局文件xml都是如下: setContentView(R.layout.activity_main): 其实每一个xml布局文件就好像一个气球,我们可以使用Vie ...

  4. Laravel Passport认证-多表、多字段解决方案

    Laravel Passport认证-多表.多字段解决方案 2018年08月19日 09:31:01 醉卧码场君莫笑 阅读数:1632   1. 概述 API 通常使用令牌(token)进行认证并且在 ...

  5. Vue路由模式及监听

    当然详细情况还是看一下vue的官网吧 官网https://router.vuejs.org/zh/   hash模式下(默认) new VueRouter({ mode : ‘hash’, route ...

  6. CAD交互绘制矩形框(com接口)

    主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下: 参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE dY1 直线的开始点y坐标 DOUBLE ...

  7. hdfs深入:08、hdfs的JavaAPI以及如何解决winutils的问题

    /** * 通过url注册的方式访问hdfs,了解,不会用到 * @throws Exception */ 以下为详细代码://1.注册hdfs的url,让java代码能识别hdfs的url形式URL ...

  8. vim common usage

    vim normal模式下 1.c+i+分隔符,删除分隔符里面的内容(不删除分隔符,c+a+分隔符则包括分隔符一起删掉) 如将光标位于'%s : %d years old ' 中,此时按c+i+'   ...

  9. javaScript中计算字符串MD5

    进行HTTP网络通信的时候,调用API向服务器请求数据,有时为了防止API调用过程中被黑客恶意篡改,所请求参数需要进行MD5算法计算,得到摘要签名.服务端会根据请求参数,对签名进行验证,签名不合法的请 ...

  10. 关于C/C++的一些思考(4)

    C++的类型转换规则: 对于数值类型而言:当一个较小数值类型赋值给一个较大数值类型的时候,C++支持隐式的类型转换,不会有任何的损失: 对于数值类型而言,当一个较大数值类型赋值给一个较小数值类型时候, ...