
作者:(美)Jean-Marc Spaggia
页数:192
出版社:电子工业出版社
出版日期:2019
ISBN:9787121295416
电子书格式:pdf/epub/txt
内容简介
要在Hadoop生态系统中实现快速的数据输入、服务和分析,一直以来只有几个可用但是不够完美的解决方案,要么以缓慢的数据输入为代价实现快速分析,要么以缓慢的分析为代价实现快速的数据输入。这个问题现在有了解决办法,使用Apache Kudu基于列的数据存储,你可以很容易地对快速输入的数据进行快速的分析。这就是本书的内容。在这本书中,你将学习Kudu设计中的关键概念,以及如何用它构建快速、可扩展和可靠的应用程序。通过实际的示例,你将了解Kudu如何与其他Hadoop生态系统组件(如Apache Spark、SparkSQL和Impala)集成。
作者简介
Jean-Marc Spaggiari,Kudu的早期用户,是Cloudera的主任解决方案架构师,为Hadoop、Kudu、HBase和其他工具提供技术支持和咨询服务。Jean-Marc对HBase和HDFS有深入的了解,这也使他能够更好地理解Kudu及其应用。
常冰琳,现任小米云平台软件工程师,曾在百度和VMWare工作,多年从事分布式系统、大数据和深度学习相关工作。Kudu PPMC及Committer。
本书特色
要在Hadoop生态系统中实现快速的数据输入、服务和分析,一直以来只有几个可用但是不够完美的解决方案,要么以缓慢的数据输入为代价实现快速分析,要么以缓慢的分析为代价实现快速的数据输入。这个问题现在有了解决办法,使用Apache Kudu基于列的数据存储,你可以很容易地对快速输入的数据进行快速的分析。这就是本书的内容。在这本书中,你将学习Kudu设计中的关键概念,以及如何用它构建快速、可扩展和可靠的应用程序。通过实际的示例,你将了解Kudu如何与其他Hadoop生态系统组件(如Apache Spark、SparkSQL和Impala)集成。
目录
第 1 章 为什么会有 Kudu …………………………………………..1
Kudu 为什么重要 ………………………………………………………… 1
易用性驱动接纳度 ………………………………………………………………………. 2
新的应用场景 …………………………………………………………………………….. 5
物联网 ……………………………………………………………………………………………..5
现有的实时分析方案 ………………………………………………………………………….7
实时处理 ………………………………………………………………………………………..13
硬件环境 ………………………………………………………………………………….. 15
Kudu 在大数据生态中的独特位置 ……………………………………………….. 17
与其他生态系统的组件对比 ……………………………………………………………..19
与大数据组件对比——HDFS、HBase 和 Cassandra …………………………….24
小结 ………………………………………………………………………………………… 26
第 2 章 Kudu 简介 ………………………………………………….27
Kudu 的高层设计 ………………………………………………………………………. 29
Kudu 中的角色 ………………………………………………………………………………..29
master 服务器 ………………………………………………………………………………….31
tablet 服务器……………………………………………………………………………………32
Kudu 中的概念与机制 ……………………………………………………………….. 42
热点 ……………………………………………………………………………………………….42
分区 ……………………………………………………………………………………………….44
第 3 章 安装与运行 …………………………………………………49
安装 ………………………………………………………………………………………… 49
使用 Kudu Quickstart VM …………………………………………………………………49
使用 Cloudera Manager …………………………………………………………………….51
从源代码构建 ………………………………………………………………………………….52
软件包 ……………………………………………………………………………………………53
Cloudera Quickstart VM ……………………………………………………………………53
快速安装 :3 分钟或者更短 ………………………………………………………… 54
小结 ………………………………………………………………………………………… 58
第 4 章 Kudu 的管理 ……………………………………………….59
为 Kudu 做规划 …………………………………………………………………………. 59
master 服务器和 tablet 服务器 ……………………………………………………………60
预写日志 ………………………………………………………………………………………..65
数据服务器和存储 …………………………………………………………………………..68
复制策略(replication strategy) …………………………………………………………69
部署时的注意事项 :是采用新集群还是现有集群 ………………………….. 70
全新的仅有 Kudu 的集群 ………………………………………………………………….70
全新的包含 Kudu 的 Hadoop 集群 ……………………………………………………..71
在现有的 Hadoop 集群中添加 Kudu …………………………………………………..77
tablet 服务器和 master 服务器的 Web UI ………………………………………. 81
master 服务器 UI 和 tablet 服务器 UI ………………………………………………….82
master 服务器 UI ……………………………………………………………………………..83
tablet 服务器 UI ……………………………………………………………………………….83
Kudu 命令行接口 ………………………………………………………………………. 84
集群 ……………………………………………………………………………………………….84
文件系统 ………………………………………………………………………………………..86
tablet 副本 ………………………………………………………………………………………92
与 Raft 一致性相关的元数据……………………………………………………………106
添加和删除 tablet 服务器 ………………………………………………………….. 107
添加 tablet 服务器 ………………………………………………………………………….107
删除 tablet 服务器 ………………………………………………………………………….108
安全 ………………………………………………………………………………………. 109
一个简单的类比 ……………………………………………………………………………. 110
Kudu 的安全功能 ………………………………………………………………………….. 112
基本的性能调优 ………………………………………………………………………. 117
Kudu 的内存限制 ………………………………………………………………………….. 117
维护管理器的线程 ………………………………………………………………………… 118
监控性能 ……………………………………………………………………………………… 119
未雨绸缪,远离麻烦 ……………………………………………………………….. 119
避免耗尽磁盘空间 ………………………………………………………………………… 119
容忍磁盘故障 ………………………………………………………………………………..120
备份 ……………………………………………………………………………………………..120
小结 ………………………………………………………………………………………. 121
第 5 章 Kudu 常用的开发接口 …………………………………123
客户端 API ……………………………………………………………………………… 124
Kudu Client(客户端)…………………………………………………………………….124
Kudu Table ……………………………………………………………………………………125
Kudu DDL …………………………………………………………………………………….125
Kudu 扫描器(Scanner)读取模式 …………………………………………………..126
C API …………………………………………………………………………………. 127
Python API ……………………………………………………………………………… 130
准备 Python 开发环境 …………………………………………………………………….131
使用 Python 开发 Kudu 应用 ……………………………………………………………131
Java ……………………………………………………………………………………….. 135
Java 应用 …………………………………..















