描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121367823
√ 深度解密Alluxio核心概念与技术应用
√ 基于国内一线互联网企业真实案例技术剖析
√ 项目PMC&Maintainer凝聚钻研实力与超前视野
1.1 Alluxio 背景概述 ……………………………………………………………………………………….. 1
1.1.1 Alluxio 系统功能简介 ……………………………………………………………………… 4
1.1.2 Alluxio 项目发展历史 ……………………………………………………………………… 5
1.2 获取/编译 Alluxio 软件 ………………………………………………………………………………. 6
1.2.1 下载预编译的 Alluxio 可执行包 ………………………………………………………. 6
1.2.2 编译 Alluxio 源代码 ………………………………………………………………………… 6
1.3 Alluxio 的搭建部署及程序运行 ………………………………………………………………… 10
1.3.1 单机模式 ………………………………………………………………………………………. 10
1.3.2 集群模式 ………………………………………………………………………………………. 13
1.3.3 高可用集群模式 ……………………………………………………………………………. 16
第 2 章 Alluxio 系统架构及读写工作机制 …………………………………………………………….. 22
2.1 Alluxio 的构架简介与基本特征 ………………………………………………………………… 22
2.1.1 提升远程存储读写性能 …………………………………………………………………. 23
2.1.2 统一持久化数据访问接口 ……………………………………………………………… 24
2.1.3 数据的快速复用和共享 …………………………………………………………………. 26
2.2 Alluxio 的系统功能组件 …………………………………………………………………………… 27
2.2.1 Alluxio Master 组件 ……………………………………………………………………….. 27
2.2.2 Alluxio Worker 组件 ………………………………………………………………………. 29
2.2.3 Alluxio Client 组件 ………………………………………………………………………… 30
2.3 Alluxio 读写场景的行为分析 ……………………………………………………………………. 31
2.3.1 Alluxio 的读场景数据流 ………………………………………………………………… 31
2.3.2 Alluxio 的写场景数据流 ………………………………………………………………… 37
第 3 章 Alluxio 与底层存储系统的集成 ………………………………………………………………… 40
3.1 配置 HDFS 作为 Alluxio 底层存储 ……………………………………………………………. 40
3.1.1 准备步骤与基本配置流程 ……………………………………………………………… 41
3.1.2 高级参数配置 ……………………………………………………………………………….. 43
3.1.3 使用 HDFS 在本地运行 Alluxio ……………………………………………………… 44
3.2 配置 Secure HDFS 作为 Alluxio 底层存储 …………………………………………………. 44
3.2.1 准备步骤与基本配置流程 ……………………………………………………………… 45
3.2.2 使用安全认证模式 HDFS 在本地运行 Alluxio ………………………………… 46
3.3 配置 AWS S3 作为 Alluxio 底层存储 ………………………………………………………… 47
3.3.1 准备步骤与基本配置流程 ……………………………………………………………… 47
3.3.2 高级参数配置 ……………………………………………………………………………….. 49
3.3.3 使用 S3 在本地运行 Alluxio …………………………………………………………… 51
3.4 配置 Google GCS 作为 Alluxio 底层存储 ………………………………………………….. 52
3.4.1 准备步骤与基本配置流程 ……………………………………………………………… 52
3.4.2 高级参数配置 ……………………………………………………………………………….. 53
3.4.3 使用 GCS 本地运行 Alluxio …………………………………………………………… 54
3.5 配置 Azure BLOB Store 作为 Alluxio 底层存储系统 …………………………………. 55
3.5.1 准备步骤与基本配置流程 ……………………………………………………………… 55
3.5.2 使用 Azure BLOB Store 本地运行 Alluxio ………………………………………. 57
第 4 章 Alluxio 与上层计算框架的集成 ………………………………………………………………… 58
4.1 Alluxio 的管理员操作命令 ……………………………………………………………………….. 58
4.1.1 操作命令列表 ……………………………………………………………………………….. 59
4.1.2 操作命令示例 ……………………………………………………………………………….. 59
4.2 Alluxio 的用户操作命令 …………………………………………………………………………… 61
4.2.1 操作命令列表 ……………………………………………………………………………….. 62
4.2.2 操作命令示例 ……………………………………………………………………………….. 65
4.3 Alluxio 与 Hadoop 操作命令行的集成 ………………………………………………………. 78
4.3.1 前期准备与配置 ……………………………………………………………………………. 78
4.3.2 具体使用示例 ……………………………………………………………………………….. 79
4.4 Alluxio 与 Hadoop MapReduce 的集成 ………………………………………………………. 79
4.4.1 前期准备与配置 ……………………………………………………………………………. 80
4.4.2 具体使用示例 ……………………………………………………………………………….. 82
4.5 Alluxio 与 Spark 的集成 …………………………………………………………………………… 83
4.5.1 前期准备与配置 ……………………………………………………………………………. 83
4.5.2 使用 Alluxio 作为输入/输出源 ……………………………………………………….. 85
4.5.3 Alluxio 与 Spark 集成常见问题分析与解决 …………………………………….. 86
4.6 Alluxio 与 Hive 的集成 …………………………………………………………………………….. 89
4.6.1 安装并配置 Hive 环境 …………………………………………………………………… 89
4.6.2 使用 Alluxio 存储部分 Hive 表 ………………………………………………………. 90
4.6.3 使用 Alluxio 作为默认文件系统(存储全部数据) ………………………… 93
4.6.4 检查 Hive 和 Alluxio 的集成情况(支持 Hive 2.x) ……………………….. 95
4.7 Alluxio 与 Presto 的集成 …………………………………………………………………………… 96
4.7.1 前期准备 ………………………………………………………………………………………. 96
4.7.2 部署分发 Alluxio 客户端 jar 包 ………………………………………………………. 98
4.7.3 Presto 操作命令示例 ……………………………………………………………………… 98
4.8 Alluxio 与 TensorFlow 的集成 ………………………………………………………………… 100
4.8.1 深度学习面临的数据挑战 ……………………………………………………………. 100
4.8.2 基于 Alluxio
如今的世界步入了一个数据革命的时代。随着互联网、人工智能、移动计算、自动驾驶、物联网等新技术的不断进步,人们生成、采集、管理和分析的数据规模正在呈指数级增长,存储和处理这些大规模数据促使人们不断地实现技术的进步,并为人们带来了难以想象的技术革命的重大机遇。在过去的十年中,我们看到了数据处理的技术栈领域产生了很多重要的技术革新。例如,在数据应用层,从最初的MapReduce 框架,衍生出了很多不同的通用化和专用化的系统,如通用数据处理平台 Apache Spark,流式计算系统 Apache Flink、Apache Samza,机器学习,以及深度学习系统 TensorFlow、Apache Mahout,图计算系统 GraphLab、GraphX,查询系统Presto、Apache Hive、Apache Drill,等等。类似地,整个生态系统的存储层也从 Hadoop分布式文件系统 HDFS 发展并增加了更多的可选项。例如,文件系统、对象存储(Object Store)系统、二进制大对象存储(BLOB Store)系统、键-值对存储(Key-Value Store)系统、NoSQL 数据库等。这些不同类型的系统实现了对性能、速度、成本、易用性、架构等设计上不同的权衡。
随着技术栈复杂程度的不断增加,数据产业的发展也面临更多的机遇和更大的挑战。数据被存储在不同的存储系统中,这使用户和上层数据应用很难高效地发现、访问和使用这些数据。例如,对于系统开发人员而言,需要开展更多的工作以将一个新的计算或存储部件集成到现有的生态系统中;对于应用开发人员而言,高效地访问不同数据存储系统的方式变得更加复杂;对于终端用户而言,从远程的数据存储系统中访问数据,容易导致性能的损失和语义的不一致;对于系统管理员而言,当底层物理存储和上层所有应用都深度耦合时,添加、删除、升级一个现有计算系统或数据系统,抑或将数据从一个存储系统迁移到另一个存储系统,是非常具有挑战性的。
Alluxio 作为全球首创的分布式虚拟文件系统(Virtual Distributed File System),就在上述背景下应运而生。它统一了数据访问的方式,为上层计算框架和底层存储系统构建了桥梁,使应用可以通过 Alluxio 提供的统一数据访问方式访问底层任意存储系统中的数据。在大数据生态系统中,Alluxio 位于上层大数据计算框架和底层分布式存储系统之间,运行在上层的大数据计算框架可以忽略底层分布式存储系统的细节,直接和 Alluxio 进行交互,Alluxio 透明地将上层大数据框架的数据访问请求转发到底层分布式存储系统中,并将底层多个分布式存储系统中的数据自动缓存到Alluxio 中,从而提升某些上层大数据计算框架的数据访问速度的数量级。Alluxio(前身 Tachyon)系统曾是我在加州大学伯克利分校 AMPLab 的博士研究课题,并在 2012年年末完成了该系统的第一个版本,于 2013 年 4 月正式开源,2015 年项目更名为Alluxio。
自 2013 年 4 月 Alluxio 开源以来,已有超过 200 个机构、1000 多位贡献者参与到Alluxio 系统的开发中,其中包括阿里巴巴、百度、卡内基梅隆大学、谷歌、IBM、英特尔、加州大学伯克利分校、腾讯、京东、雅虎等大学、科研院所和企业。到今天为止,上百家公司的生产线中已经部署了 Alluxio,其中有的集群已经超过了 1000 个节点。随
着 Alluxio 开源项目的快速发展和应用需求的日益旺盛,我们于 2015 年创立了 Alluxio公司,并且获得 Andreessen Horowitz、Mark Leslie(Veritas Founding CEO)、Jack Xu(网易、新浪前 CTO)、Sujal Patel(Isilon 创始人)等人的投资。未来,我们将立志于让Alluxio 成为大数据及其他水平扩展应用的事实上的统一数据层。
我很高兴看到,这本系统、深入介绍 Alluxio 项目技术原理和应用实践的书籍即将付梓。本书的两位作者范斌博士和顾荣博士是分布式系统领域的专家,也是Alluxio 项目管理委员会的成员和源码的维护者。其中,范斌博士于 2015 年从谷歌离职之后全身心致力于 Alluxio 开源项目的技术架构、开发与推广,目前在 Alluxio社区代码贡献排名中排第二位。顾荣博士从 2013 年就开始向 Alluxio 社区贡献源代码,此后他在南京大学 PASA 大数据实验室担任助理教授,继续从事大数据系统方面的研究,在 Alluxio 上开展了很多有意义的研究工作,并且一直努力推动 Alluxio社区在国内的发展。范斌和顾荣在 Alluxio 社区方面都是非常著名的技术专家,为Alluxio 开源社区的发展做出了重要贡献。相信他们完成的这本著作能够很好地帮助需要学习 Alluxio 技术的广大读者。最后,我也要特别感谢一直对 Alluxio 开源项目给予关心与支持的朋友们,我们将一如既往地努力投入,在不断完善 Alluxio 软件的同时,让我们开源社区的运转更加高效,期待后续创作出更多高质量的文章和书籍,以飨读者。
——李浩源 Alluxio 开源项目主席、Alluxio 公司创始人、董事长兼 CTO
2019 年 4 月,于美国硅谷
推荐序二
The big data revolution is changing how every industry operates. Organizations and companies are leveraging tremendous amounts of data to create value. For example,Internet companies use data to provide better targeted advertisements and user experiences. Financial institutions process data to detect potential fraud in real time.
Manufacturing powerhouses study data to track, understand, and design locomotive and airplane engines better. Autonomous cars depend on data to function and to ensure the safety of passengers. People use data to make decisions or facilitate the decision-making process in some way.
The big data revolution has brought a lot of challenges and opportunities in distributed computer systems. There are significant innovations in distributed computation frameworks, such as Hadoop and Spark, and distributed storage systems, such as HDFS and Alluxio. The large-scale data processing stack has been reshaped by the big data ecosystem. In the big data ecosystem, organizations usually rely on multiple storage systems and computation frameworks in their data processing pipelines. This brings the significant challenges in data sharing and management, performance and flexibility.
To address these challenges, the Alluxio project proposes an architecture with Virtual Distributed File System (VDFS) as a data unification layer between the computing layer and the storage layer. A data unification layer brings significant value into the ecosystem.
It can improve data accessibility, performance, and data management, but also the convenience to plug future systems into the ecosystem, therefore making it easier and quicke
Ion Stoica 加州大学伯克利分校教授,Apache Spark联合创始人
DataBricks公司联合创始人兼首席执行官,加州大学伯克利分校AMPLab共同负责人
大数据分析正在驱动分布式内存去满足实时流处理、交互式查询分析及图计算的新需求。我们很高兴能够与Alluxio社区的开发者一起工作,特别是优化Alluxio基于Intel平台的解决方案,这将帮助我们为客户创造出更具创新性且高性能的云和大数据解决方案。
Michael Greene 英特尔公司副总裁
作为世界上较大的互联网公司之一,百度不断面临着管理PB级规模数据带来的挑战。通过采用Alluxio等创新技术,我们能够帮助用户快速抽取出有意义、有价值的数据。我们部署的一个Alluxio集群超过了1000台workers,这也是世界上较大的Alluxio集群之一。Alluxio的层次化存储功能为我们提供了很好的管理大规模数据的灵活性。我们观察到,在支持交互式查询系统等业务时,能够取得平均10倍、*30倍的性能提升,这有效地提升了做出重要商业决策的速度。
James Peng pony.ai创始人兼CEO,百度前首席架构师
随着云计算业务的发展,阿里巴巴集团管理着越来越多的大型数据中心。通过阿里云OSS与Alluxio的整合,以及其他阿里云服务产品的支撑,我们的用户可以利用新潮的硬件技术,以*的性能运行重要作业。我们一直在为Alluxio开源社区做贡献,并且相信Alluxio会在未来的大数据架构中扮演重要的角色。
章文嵩 滴滴出行高级副总裁,阿里云前副总裁
LVS(Linux Virtual Server,Linux虚拟服务器)开源软件创始人
Alluxio是源自于AMPLab的一个具有重大影响力的开源项目。为了能够支撑不断拓展的大数据应用案例,存储层正在快速演进,Alluxio技术在其中扮演着具有重大颠覆性的角色。
Michael Franklin 加州大学伯克利分校AMPLab负责人
评论
还没有评论。