前 言 Foreword
大数据给全球带来了重大的发展机遇与挑战。大规模数据资源蕴涵着巨大的社会价值和商业价值,有效地管理这些数据、挖掘数据的深度价值,将为国家治理、社会管理、企业决策和个人生活带来巨大的作用与影响。然而,大规模数据资源在给人们带来新的发展机遇的同时也带来很多新的技术挑战。
大数据处理的第一个基本问题是,如何有效地存储管理海量的大数据。大数据存储管理是进行后续大数据计算分析和提供大数据应用服务的重要基础。分布式存储是目前公认有效的大数据存储管理方法,在大数据系统中处于基础地位,在行业大数据应用中发挥着重要作用。本书将介绍近些年在数据存储和数据编排领域发展得如火如荼的开源系统Alluxio。Alluxio是全球首个开源分布式虚拟文件系统,最初诞生于加利福尼亚大学伯克利分校的AMPLab,是目前大数据生态系统中发展很快的开源社区。Alluxio已在全球数千个企事业单位部署应用,并在超过5000个节点的集群上运行。
本书以广泛使用的Alluxio 2.8.0 版本为基础编写,是一本深入介绍Alluxio相关技术原理与实践案例的书籍。本书主要包括Alluxio系统入门和使用、Alluxio系统内核组件的设计和实现原理,还包括Alluxio在大型企业中的经典应用案例与生产实践,以及Alluxio的开源社区开发者指南。本书从概念和原理上对Alluxio的核心框架与相关技术应用进行了详细的解读,是一本适合工业界和学术界分布式数据存储与编排系统领域人员阅读的详细技术书籍,同时也是面向高校分布式/大数据存储系统课程的实用教材。
【本书目的】
Alluxio项目自2013年开源以来,社区得到了长足的发展,贡献者和用户不断增多。但是国内深入介绍Alluxio内核实现原理和实践应用案例的书籍与教材少之又少。本书的三位作者均为Alluxio项目的PMC成员和Maintainer,在开源社区的交流、高校研究生指导以及课程教学中经常需要回答很多关于Alluxio等相关分布式存储系统的原理的问题。因此,我们决定一起写一本关于Alluxio分布式存储系统原理方面的书,帮助Alluxio用户更加全面、透彻地了解Alluxio的基本原理,从而更加轻松地使用Alluxio。本书在介绍相关技术原理的同时,还讲解了Alluxio技术在国内外旗舰科技和数字化公司的使用案例,并在附录部分介绍了如何向国际开源社区贡献源码,具有一定的技术前瞻性和国际视野。
【内容快览】
本书以广泛使用的Alluxio 2.8.0版本为基础进行编写,全书共分为12章,主要内容简介如下。
第1章介绍Alluxio项目的背景与发展历史,并介绍Alluxio软件的搭建部署流程。
第2章阐述Alluxio的核心功能服务,包括文件系统统一命名空间、层级存储与数据缓存、Alluxio与底层存储系统的集成、Alluxio与大数据计算框架的集成、Alluxio与大数据查询系统的集成,以及Alluxio与深度学习框架的集成等。
第3章介绍Alluxio的基本操作方式,并介绍Alluxio提供的7组高级配置和运维操作,具体包括挂载点运维、元数据同步和备份运维、Journal日志和高可用运维、Alluxio的不同配置方式、Log日志运维、Job Service使用和查询运维以及安全认证与权限控制。
第4章首先概览式地介绍Alluxio主节点的核心功能,然后分别介绍Alluxio 元数据管理的重要结构、统一命名空间和底层存储管理原理、Alluxio主节点的日志管理与元数据备份功能、Alluxio主节点(Master)内部对于Alluxio工作节点(Worker)的管理机制,最后讲解Alluxio主节点的元数据并发机制。
第5章介绍Alluxio Worker组件的基本功能、Alluxio Worker读写数据的不同模式、Alluxio数据块的生命周期和管理、Alluxio Worker的分层缓存机制,并介绍Alluxio Worker针对并发读写和流量控制的一些机制的设计。
第6章首先介绍Alluxio原生客户端以及基于其实现的HCFS、POSIX、S3、FUSE和命令行接口等多种不同访问方式,然后介绍Alluxio Job Service的整体架构和主要功能。
第7章首先讲解Alluxio的推荐系统配置及测算方法,然后系统地介绍Alluxio Master的性能优化方法,以及Alluxio Worker、Alluxio Job Service、Alluxio客户端的性能优化方法,最后介绍Alluxio的性能压力测试工具及其解读方式。
第8章着重介绍Alluxio在Kubernetes环境中的部署、Kubernetes高级功能的使用,以及云原生的其他部署方式。
第9章首先介绍混合云业务场景和常见挑战,然后将Alluxio与传统方案进行对比,最后介绍基准测试性能结果,以及多个应用案例情况。
第10章重点介绍Alluxio和Presto整合架构的原理、优势、常见应用场景,以及性能测试评估和多个落地应用案例。
第11章重点介绍Alluxio和Spark结合的架构及原理、ETL场景部署Alluxio的架构优势,以及相关性能评测和落地应用案例。
第12章介绍AI/ML(人工智能/机器学习)模型训练对数据平台的常见需求,分析Alluxio对比传统技术方案的优势,并介绍多个有代表性的应用案例。