kindle电子书

资源下载,尽在我的书库!
首页 > kindle电子书库 > 典藏频道 > 工农林医、科学科普、IT网络

Alluxio:大数据统一存储原理与实践

  • 作者: 多作者
  • 体积:23.28 MB
  • 语言:中文
  • 日期:2020-03-02
  • 推荐:

简介:本书以广泛使用的Alluxio 1.8.1版本为基础见编写,是一本全面介绍Alluxio相关技术原理与实践案例的书籍,是国内首本深入介绍Alluxio核心原理和架构的技术书籍。

电子书详细介绍

TAG():大数据

分布式文件系统处于大数据系统中基础地位,在行业大数据应用中发挥着重要作用。Alluxio是全球第一个以内存为中心(memory-centric)的分布式虚拟文件系统,最初诞生于加州大学伯克利分校的AMPLab,是目前大数据生态系统中发展最快的开源社区之一,拥有来自全球200多个组织的900多名开发人员。Alluxio已在全球数百个企事业单位部署应用,并在超过1000个节点的集群上运行。Alluxio提供一个由软件实现的统一化虚拟数据存储层,帮助计算框架无缝对接到底层异构的物理存储系统,为上层大数据计算框架带来显著性能提升。本书以广泛使用的Alluxio 1.8.1版本为基础见编写,是一本全面介绍Alluxio相关技术原理与实践案例的书籍,是国内首本深入介绍Alluxio核心原理和架构的技术书籍。主要内容包括Alluxio系统快速入门,系统架构及读写工作机制、Alluxio与底层存储系统的集成、Alluxio与上层计算框架的集成、Alluxio的基本功能介绍与使用、Alluxio的高级功能介绍与使用;同时也详细介绍了Alluxio在大型企业的经典应用案例与生产实践,以及Alluxio的开源社区开发者指南。本书从概念和原理上对Alluxio的核心框架和相关技术应用进行了详细的解读,并对向开源社区贡献源码进行了简要介绍,旨在为大数据从业人员和大数据存储技术爱好者提供一个深入学习的平台。

作者简介

范 斌

Alluxio开源项目管理委员会成员和源码维护者,Alluxio公司创始成员,现任开源副总裁;加入Alluxio项目之前就职于谷歌山景城,从事下一代大规模分布式存储系统的研究与开发,并荣获谷歌基础设施技术奖(Technical Infrastructure Award);2013年获得卡内基梅隆大学(Carnegie Mellon University)计算机系博士学位,攻读博士期间从事分布式系统算法和实现,是CuckooFilter、MemC3及高性能多线程KV库libcuckoo的第一作者或联合作者,在SIGCOMM、SOSP、NSDI、CoNEXT等学术会议及IEEE Transactions on Networking等学术期刊上发表了论文;拥有多项专利,部分学术研究成果已在Alluxio、谷歌、Facebook、英特尔、微软等高科技公司落地使用。

顾 荣

南京大学计算机科学与技术系助理研究员,Alluxio项目管理委员会成员和源码维护者;于2016年获得南京大学计算机专业博士学位,主要研究领域为大数据处理技术与系统;在国际期刊、会议发表论文30余篇,包括IEEE TPDS、IEEE ICDE、IEEE IPDPS、JPDC、Parallel Computing、ICPP等;拥有多项发明专利;部分研究成果已在英特尔、百度、华泰证券、苏宁易购、华为、字节跳动等公司落地使用,或被主流开源大数据系统Apache Spark和Alluxio官方版本集成发布;担任多种学术期刊审稿人,以及江苏省计算机学会大数据专委会秘书长、中国计算机学会系统软件专委会委员。

目录

第 1 章 Alluxio 系统快速入门 1
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 解决深度学习存储问题的分析 ........................................ 101
4.8.3 安装并配置 Alluxio FUSE ..................................................................... 102
4.8.4 TensorFlow 使用 Alluxio FUSE 管理访问数据 ..................................... 103
第 5 章 Alluxio 基本功能的介绍与使用 ......................................................................... 105
5.1 Alluxio 系统环境与属性的配置 ......................................................................... 105
5.1.1 Alluxio 系统组件参数的配置 ................................................................. 106
5.1.2 Alluxio 客户端组件参数的配置 ............................................................. 109
5.1.3 Alluxio 参数配置的相关工具 ................................................................. 112
5.2 Alluxio 底层文件系统的配置与管理 ................................................................. 113
5.2.1 Alluxio 挂载底层存储 ............................................................................. 113
5.2.2 Alluxio 与底层存储的元数据一致性保证 ............................................. 116
5.3 Alluxio 缓存资源的配置与管理 ......................................................................... 120
5.3.1 配置 Alluxio 缓存存储资源 .................................................................... 121
5.3.2 Alluxio 缓存数据的载入、驻留及释放 ................................................. 126
5.3.3 配置 Alluxio 缓存数据的生存时间 ........................................................ 127
5.4 Alluxio 系统 Web 用户界面的查看与使用 ...................................................... 128
5.4.1 Alluxio Master Web 界面介绍 ................................................................ 128
5.4.2 Alluxio Worker Web 界面介绍 ............................................................... 134
第 6 章 Alluxio 高级功能的介绍与使用 ......................................................................... 137
6.1 Alluxio 的安全认证与权限控制 ......................................................................... 137
6.1.1 Alluxio 安全认证模式的介绍 ................................................................. 138
6.1.2 Alluxio 访问权限控制的介绍 ................................................................. 139
6.1.3 Alluxio 用户模拟功能的介绍 ................................................................. 141
6.1.4 Alluxio 审计日志功能的介绍 ................................................................. 142
6.2 Alluxio 的内置 Metrics 系统............................................................................... 143
6.3 Alluxio 文件系统日志的使用与维护 ................................................................. 145
6.4 Alluxio 系统的异常排查 ..................................................................................... 148
Alluxio: 大数据统一存储原理与实践
第 7 章 Alluxio 的应用案例与生产实践 ......................................................................... 152
7.1 陌陌基于 Alluxio 加速 Spark SQL 查询 ............................................................ 152
7.1.1 Alluxio 缓存应用背景简介 ..................................................................... 153
7.1.2 陌陌应用场景结合 Alluxio 的分析 ........................................................ 153
7.1.3 基于 Alluxio 的陌陌 Ad Hoc 查询系统架构 .......................................... 155
7.1.4 基于 Alluxio 的查询性能评估与分析 .................................................... 156
7.1.5 陌陌在 Alluxio 实战方面的后续实践 .................................................... 158
7.2 京东基于 Alluxio 和 Presto 构建交互式查询引擎 ............................................ 158
7.2.1 京东大数据平台的业务问题背景 .......................................................... 159
7.2.2 JDPresto on Alluxio 架构与特性的介绍 ................................................. 160
7.2.3 JDPresto on Alluxio 的性能评估与分析 ................................................. 161
7.2.4 JDPresto on Alluxio 的应用总结 ............................................................. 164
7.3 Alluxio 在携程实时计算平台中的应用与实践 ................................................. 165
7.3.1 携程实时计算的应用背景 ...................................................................... 165
7.3.2 基于 Alluxio 的跨集群数据共享方案与性能评估 ................................ 168
7.4 去哪儿网利用 Alluxio 提升异地存储访问性能 ................................................ 169
7.4.1 去哪儿网流式处理背景简介 .................................................................. 170
7.4.2 原有系统架构及相关问题分析 .............................................................. 171
7.4.3 基于 Alluxio 改进后的系统架构介绍与性能评估 ................................ 172
7.5 百度基于 Alluxio 加速远程数据读取 ................................................................ 176
7.5.1 百度跨机房数据查询问题的描述 .......................................................... 177
7.5.2 使用 Alluxio 缓存远端数据的方案与效果 ............................................ 177
7.5.3 使用 Alluxio 分层存储的方案与效果 .................................................... 178
7.5.4 基于 Alluxio 提速远程数据访问的总结 ................................................ 180
第 8 章 Alluxio 的开源社区开发者指南 ............................................................... 181
8.1 Alluxio 的源代码规范 ......................................................................................... 181
8.1.1 源代码风格要求 ...................................................................................... 182
8.1.2 Alluxio 的单元测试 ................................................................................. 184
8.1.3 Alluxio 的日志系统 ................................................................................. 184
8.1.4 Alluxio 的 RPC 定义 ............................................................................... 186
8.1.5 Alluxio 文件系统日志消息 ..................................................................... 186
8.2 Alluxio 的单元测试流程介绍 ............................................................................. 187
8.2.1 运行 Alluxio 单元测试 ............................................................................ 187
8.2.2 创建 Alluxio 单元测试 ............................................................................ 188
8.2.3 单元测试需要避免的情况 ...................................................................... 190
8.2.4 Alluxio 单元测试的全局状态管理 ......................................................... 191
8.3 贡献源代码至 Alluxio 开源社区 ............................................................... 193
8.3.1 开发者的系统要求和环境准备 .............................................................. 194
8.3.2 下载 Alluxio 源代码并配置开发者邮箱 ................................................ 194
8.3.3 编译 Alluxio 源代码 ................................................................................ 195
8.3.4 领取一个开发者新手任务 ...................................................................... 196
8.3.5 在本地副本中创建一个新的开发分支 .................................................. 196
8.3.6 提交本地的 commit ................................................................................. 197
8.3.7 提交一个社区 Pull Request ..................................................................... 198
8.3.8 审阅社区 Pull Request ............................................................................. 199

我来说两句

本书评论

共有 0 条评论
图书分类
我的书库手机端
帮助中心
会员登录 ×
新用户注册 ×