Hadoop大数据技术开发实战pdf下载

Hadoop大数据技术开发实战百度网盘pdf下载

作者:
简介:Hadoop大数据技术开发实战
出版社:清华大学出版社
出版时间:2019-10-01
pdf下载价格:9.00¥


预览


内容介绍

内容简介
  本书以Hadoop及其周边框架为主线,介绍了整个Hadoop生态系统主流的大数据开发技术。全书共16章,第1章讲解了VMware中CentOS 7操作系统的安装;第2章讲解了大数据开发之前对操作系统集群环境的配置;第3~16章讲解了Hadoop生态系统各框架HDFS、MapReduce、YARN、ZooKeeper、HBase、Hive、Sqoop和数据实时处理系统Flume、Kafka、Storm、Spark以及分布式搜索系统Elasticsearch等的基础知识、架构原理、集群环境搭建,同时包括常用的Shell命令、API操作、源码剖析,并通过实际案例加深对各个框架的理解与应用。通过阅读本书,读者即使没有任何大数据基础,也可以对照书中的步骤成功搭建属于自己的大数据集群并独立完成项目开发。
  本书可作为Hadoop新手入门的指导书,也可作为大数据开发人员的随身手册以及大数据从业者的参考用书。
作者简介
  张伟洋,毕业于中国地质大学计算机科学与技术专业,先后就职于知名互联网公司百度、慧聪网,任Java高级软件工程师,互联网旅游公司任软件研发事业部技术经理。目前供职于青岛英谷教育科技股份有限公司,任大数据项目讲师,为数十所高校先后举行多次大数据专题讲座,对Hadoop及周边框架ZooKeeper、Hive、HBase、Storm、Spark等有深入的研究。高等院校云计算与大数据专业课改教材《云计算与大数据概论》《大数据开发与应用》的主要编写者,百度文库、百度阅读签约作者。
目录
  
  版权信息
  作/者/简/介
  图/书/推/荐
  内容简介
  前言
  第1章 VMware中安装CentOS 7
  1.1 下载CentOS 7镜像文件
  1.2 新建虚拟机
  1.3 安装操作系统
  第2章 CentOS 7集群环境配置
  2.1 系统环境配置
  2.1.1 新建用户
  2.1.2 修改用户权限
  2.1.3 关闭防火墙
  2.1.4 设置固定IP
  2.1.5 修改主机名
  2.1.6 新建资源目录
  2.2 安装JDK
  2.3 克隆虚拟机
  2.4 配置主机IP映射
  第3章 Hadoop
  3.1 Hadoop简介
  3.1.1 Hadoop生态系统架构
  3.1.2 Hadoop 1.x与2.x的架构对比
  3.2 YARN基本架构及组件
  3.3 YARN工作流程
  3.4 配置集群各节点SSH无密钥登录
  3.4.1 无密钥登录原理
  3.4.2 无密钥登录操作步骤
  3.5 搭建Hadoop 2.x分布式集群
  第4章 HDFS
  4.1 HDFS简介
  4.1.1 设计目标
  4.1.2 总体架构
  4.1.3 主要组件
  4.1.4 文件读写
  4.2 HDFS命令行操作
  4.3 HDFS Web界面操作
  4.4 HDFS Java API操作
  4.4.1 读取数据
  4.4.2 创建目录
  4.4.3 创建文件
  4.4.4 删除文件
  4.4.5 遍历文件和目录
  4.4.6 获取文件或目录的元数据
  4.4.7 上传本地文件
  4.4.8 下载文件到本地
  第5章 MapReduce
  5.1 MapReduce简介
  5.1.1 设计思想
  5.1.2 任务流程
  5.1.3 工作原理
  5.2 MapReduce程序编写步骤
  5.3 案例分析:单词计数
  5.4 案例分析:数据去重
  5.5 案例分析:求平均分
  5.6 案例分析:二次排序
  5.7 使用MRUnit测试MapReduce程序
  第6章 ZooKeeper
  6.1 ZooKeeper简介
  6.1.1 应用场景
  6.1.2 架构原理
  6.1.3 数据模型
  6.1.4 节点类型
  6.1.5 Watcher机制
  6.1.6 分布式锁
  6.2 ZooKeeper安装配置
  6.2.1 单机模式
  6.2.2 伪分布模式
  6.2.3 集群模式
  6.3 ZooKeeper命令行操作
  6.4 ZooKeeper Java API操作
  6.4.1 创建Java工程
  6.4.2 创建节点
  6.4.3 修改数据
  6.4.4 获取数据
  6.4.5 删除节点
  6.5 案例分析:监听服务器动态上下线
  第7章 HDFS与YARNHA
  7.1 HDFS HA搭建
  7.1.1 架构原理
  7.1.2 搭建步骤
  7.1.3 结合ZooKeeper进行HDFS自动故障转移
  7.2 YARN HA搭建
  7.2.1 架构原理
  7.2.2 搭建步骤
  第8章 HBase
  8.1 什么是HBase
  8.2 HBase基本结构
  8.3 HBase数据模型
  8.4 HBase集群架构
  8.5 HBase安装配置
  8.5.1 单机模式
  8.5.2 伪分布模式
  8.5.3 集群模式
  8.6 HBase Shell命令操作
  8.7 HBase Java API操作
  8.7.1 创建Java工程
  8.7.2 创建表
  8.7.3 添加数据
  8.7.4 查询数据
  8.7.5 删除数据
  8.9 案例分析:HBase MapReduce数据转移
  8.9.1 HBase不同表间数据转移
  8.9.2 HDFS数据转移至HBase
  8.10 案例分析:HBase数据备份与恢复
  第9章 Hive
  9.1 什么是Hive
  9.1.1 数据单元
  9.1.2 数据类型
  9.2 Hive架构体系
  9.3 Hive三种运行模式
  9.4 Hive安装配置
  9.4.1 内嵌模式
  9.4.2 本地模式
  9.4.3 远程模式
  9.5 Hive常见属性配置
  9.6 Beeline CLI的使用
  9.8 Hive表操作
  9.8.1 内部表
  9.8.2 外部表
  9.8.3 分区表
  9.8.4 分桶表
  9.9 Hive查询
  9.9.1 SELECT子句查询
  9.9.2 JOIN连接查询
  9.10 其他Hive命令
  9.11 Hive元数据表结构分析
  9.12 Hive自定义函数
  9.13 Hive JDBC操作
  9.14 案例分析:Hive与HBase整合
  9.15 案例分析:Hive分析搜狗用户搜索日志
  第10章 Sqoop
  10.1 什么是Sqoop
  10.1.1 Sqoop基本架构
  10.1.2 Sqoop开发流程
  10.2 使用Sqoop
  10.3 数据导入工具
  10.4 数据导出工具
  10.5 Sqoop安装与配置
  10.6 案例分析:将MySQL表数据导入到HDFS中
  10.7 案例分析:将HDFS中的数据导出到MySQL中
  10.8 案例分析:将MySQL表数据导入到HBase中
  第11章 Kafka
  11.1 什么是Kafka
  11.2 Kafka架构
  11.3 主题与分区
  11.4 分区副本
  11.5 消费者组
  11.6 数据存储机制
  11.7 集群环境搭建
  11.8 命令行操作
  11.8.1 创建主题
  11.8.2 查询主题
  11.8.3 创建生产者
  11.8.4 创建消费者
  11.9 Java API操作
  11.9.1 创建Java工程
  11.9.2 创建生产者
  11.9.3 创建消费者
  11.9.4 运行程序
  11.10 案例分析:Kafka生产者拦截器
  第12章 Flume
  12.1 什么是Flume
  12.2 架构原理
  12.2.1 单节点架构
  12.2.2 组件介绍
  12.2.3 多节点架构
  12.3 安装与简单使用
  12.4 案例分析:日志监控(一)
  12.5 案例分析:日志监控(二)
  12.6 拦 截 器
  12.6.1 内置拦截器
  12.6.2 自定义拦截器
  12.7 选 择 器
  12.8 案例分析:拦截器和选择器的应用
  12.9 案例分析:Flume与Kafka整合
  第13章 Storm
  13.1 什么是Storm
  13.2 Storm Topology
  13.3 Storm集群架构
  13.4 Storm流分组
  13.5 Storm集群环境搭建
  13.6 案例分析:单词计数
  13.6.1 设计思路
  13.6.2 代码编写
  13.6.3 程序运行
  13.7 案例分析:Storm与Kafka整合
  第14章 Elasticsearch
  14.1 什么是Elasticsearch
  14.2 基本概念
  14.2.1 索引、类型和文档
  14.2.2 分片和副本
  14.2.3 路由
  14.3 集群架构
  14.4 集群环境搭建
  14.5 Kibana安装
  14.6 REST API
  14.6.1 集群状态API
  14.6.2 索引API
  14.6.3 文档API
  14.6.4 搜索API
  14.6.5 Query DSL
  14.7 Head插件安装
  14.8 Java API操作:员工信息
  第15章 Scala
  15.1 什么是Scala
  15.2 安装Scala
  15.2.1 Windows中安装Scala
  15.2.2 CentOS 7中安装Scala
  15.3 Scala基础
  15.3.1 变量声明
  15.3.2 数据类型
  15.3.3 表达式
  15.3.4 循环
  15.3.5 方法与函数
  15.4 集 合
  15.4.1 数组
  15.4.2 List
  15.4.3 Map映射
  15.4.4 元组
  15.4.5 Set
  15.5 类和对象
  15.5.1 类的定义
  15.5.2 单例对象
  15.5.3 伴生对象
  15.5.4 get和set方法
  15.5.5 构造器
  15.6 抽象类和特质
  15.6.1 抽象类
  15.6.2 特质
  15.7 使用Eclipse创建Scala项目
  15.7.1 安装Scala for Eclipse IDE
  15.7.2 创建Scala项目
  15.8 使用IntelliJ IDEA创建Scala项目
  15.8.1 IDEA中安装Scala插件
  15.8.2 创建Scala项目
  第16章 Spark
  16.1 Spark概述
  16.2 Spark主要组件
  16.3 Spark运行时架构
  16.3.1 Spark Standalone模式
  16.3.2 Spark On YARN模式
  16.4 Spark集群环境搭建
  16.4.1 Spark Standalone模式
  16.4.2 Spark On YARN模式
  16.5 Spark HA搭建
  16.6 Spark应用程序的提交
  16.7 Spark Shell的使用
  16.8 Spark RDD
  16.8.1 创建RDD
  16.8.2 RDD算子
  16.9 案例分析:使用Spark RDD实现单词计数
  16.10 Spark SQL
  16.10.1 DataFrame和Dataset
  16.10.2 Spark SQL基本使用
  16.11 案例分析:使用Spark SQL实现单词计数
  16.12 案例分析:Spark SQL与Hive整合
  16.13 案例分析:Spark SQL读写MySQL
前言
  当今互联网已进入大数据时代,大数据技术已广泛应用于金融、医疗、教育、电信、政府等领域。各行各业每天都在产生大量的数据,数据计量单位已从B、KB、MB、GB、TB发展到PB、EB、ZB、YB甚至BB、NB、DB。预计未来几年,全球数据将呈爆炸式增长。谷歌、阿里巴巴、百度、京东等互联网公司都急需掌握大数据技术的人才,而大数据相关人才却出现了供不应求的状况。
  Hadoop作为大数据生态系统中的核心框架,专为离线和大规模数据处理而设计。Hadoop的核心组成HDFS为海量数据提供了分布式存储;MapReduce则为海量数据提供了分布式计算。很多互联网公司都使用Hadoop来实现公司的核心业务,例如华为的云计算平台、淘宝的推荐系统等,只要和海量数据相关的领域都有Hadoop的身影。
  本书作为Hadoop及其周边框架的入门书,知识面比较广,涵盖了当前整个Hadoop生态系统主流的大数据开发技术。内容全面,代码可读性强,以实操为主,理论为辅,一步一步手把手对常用的离线计算以及实时计算等系统进行了深入讲解。
  全书共16章,第1章讲解了VMware中CentOS 7操作系统的安装;第2章讲解了大数据开发之前对操作系统集群环境的配置;第3~16章讲解了Hadoop生态系统各框架HDFS、MapReduce、YARN、ZooKeeper、HBase、Hive、Sqoop和数据实时处理系统Flume、Kafka、Storm、Spark以及分布式搜索系统Elasticsearch等的基础知识、架构原理、集群环境搭建,同时包括常用的Shell命令、API操作、源码剖析,并通过实际案例加深对各个框架的理解与应用。
  那么如何学习本书呢?
  本书推荐的阅读方式是按照章节顺序从头到尾完成阅读,因为后面的很多章节是以前面的章节为基础,而且这种一步一个脚印、由浅入深的方式将使你更加顺利地掌握大数据的开发技能。
  学习本书时,首先根据第1、2章搭建好开发环境,然后依次学习第3~16章,学习每一章时先了解该章的基础知识和框架的架构原理,然后再进行集群环境搭建、Shell命令操作等实操练习,这样学习效果会更好。当书中的理论和实操知识都掌握后,可以进行举一反三,自己开发一个大数据程序,或者将所学知识运用到自己的编程项目上,也可以到各种在线论坛与其他大数据爱好者进行讨论,互帮互助。
  本书可作为Hadoop新手入门的指导书籍或者大数据开发人员的参考用书,要求读者具备一定的Java语言基础和Linux系统基础,即使没有任何大数据基础的读者,也可以对照书中的步骤成功搭建属于自己的大数据集群,是一本真正的提高读者动手能力、以实操为主的入门书籍。通过对本书的学习,读者能够对大数据相关框架迅速理解并掌握,可以熟练使用Hadoop集成环境进行大数据项目的开发。
  读者若对书中讲解的知识有任何疑问,可关注下面的公众号联系笔者,还可以在该公众号中获取大数据相关的学习教程和资源。
  扫描下述二维码可以下载本书源代码:
  由于时间原因,书中难免出现一些错误或不准确的地方,恳请读者批评指正。
  张伟洋
  2019年5月于青岛
精彩书摘
  本章内容
  本章讲解在VMware Workstation(以下简称VMware)中安装CentOS操作系统的步骤。使用的VMware版本为12.5.2,CentOS操作系统的版本为7.3(1611)。
  本章目标
   了解CentOS 7操作系统的下载
   掌握VMware中虚拟机的创建步骤
   掌握CentOS 7操作系统的安装步骤
  1.1 下载CentOS 7镜像文件
  请参考下述安装步骤。
   在浏览器中输入网址https://www.centos.org/,进入CentOS官网,单击官网主页面中的【Get CentOS Now】按钮,如图1-1所示。
   在出现的下载页面中单击【DVD ISO】按钮,可进入目前CentOS操作系统最新版的下载链接页面,如图1-2所示。
   若想下载CentOS操作系统的历史版本,可以在浏览器中访问网址//vault.centos.org/,然后单击对应的版本所在的文件夹,此处选择【7.3.1611/】,如图1-3所示。
  图1-1 CentOS官网主页面
  图1-2 CentOS操作系统下载页面(下载最新版本)
  图1-3 CentOS操作系统下载页面(下载历史版本)
   在出现的新页面中,单击操作系统镜像文件所在的文件夹【isos/】,如图1-4所示。
  图1-4 选择操作系统镜像文件所在的文件夹
   在出现的操作系统位数选择页面选择相应的位数版本,【x86_64】代表64位操作系统(目前,CentOS 7暂无32位操作系统)。单击文件夹【x86_64/】,如图1-5所示。
  图1-5 选择操作系统位数
   在出现的操作系统镜像选择页面中可以看到有不同的镜像版本,DVD为标准安装版,日常使用下载该版本即可;Everything对完整版安装盘的软件进行了补充,集成了所有软件;LiveGNOME为GNOME桌面版;LiveKDE为KDE桌面版;Minimal为最小软件安装版,只有必要的软件,自带的软件最少;NetInstall为网络安装版,启动后需要联网进行安装。
  此处选择DVD标准安装版即可,单击超链接【CentOS-7-x86_64-DVD-1611.iso】进行下载,如图1-6所示。
  图1-6 下载操作系统镜像
   在出现的新页面中,为了节省带宽,需要选择美国或欧洲地区的资源进行下载,此处选择欧洲地区(经测试,选择欧洲地区下载速度更快),如图1-7所示。
  图1-7 选择地区进行下载
  需要注意的是,随着时间的推移,官方网站下载的目录可能会有所调整,若选择完下载地区后,下一个页面仍然出现操作系统版本的选择,则重复上述步骤即可。
  1.2 新建虚拟机
  VMware软件的安装,此处不做过多讲解。在Windows系统中安装完VMware后,接下来需要在VMware中新建一个虚拟机,具体操作步骤如下:
   在VMware中,单击菜单栏的【文件】按钮,然后选择【新建虚拟机】,在弹出的【新建虚拟机向导】窗口中,选择【典型】,然后单击【下一步】按钮,如图1-8所示。
  图1-8 选择配置类型
   在新弹出的窗口中选择【稍后安装操作系统】,然后单击【下一步】按钮,如图1-9所示。
  图1-9 选择安装来源
   在新窗口中,选择客户机操作系统为【Linux(L)】,系统版本为【CentOS 64 位】,然后单击【下一步】按钮,如图1-10所示。
  图1-10 选择操作系统
   在新窗口中,【虚拟机名称】默认为“CentOS 64位”,也可以改成自己的名称,此处改为“centos01”。【位置】可以修改成虚拟机在硬盘中的位置,然后单击【下一步】按钮,如图1-11所示。
  图1-11 选择虚拟机安装位置
   在新窗口中,【最大磁盘大小】默认为20 GB,可以根据需要进行调整,此处保持默认。选择【将虚拟磁盘拆分成多个文件】选项,单击【下一步】按钮,如图1-12所示。
  图1-12 指定磁盘容量及拆分方式
   新窗口中显示出了当前虚拟机的配置信息,其中的网络适配器使用默认的NAT模式(关于NAT模式,读者可自主查阅资料,此处不做讲解)。如果需要对配置(内存、硬盘等)进行调整,单击【自定义硬件】按钮进行调整即可。这里直接单击【完成】按钮,如图1-13所示。
  图1-13 显示虚拟机配置信息
   配置完成后,在新建的虚拟机主窗口中,单击【编辑虚拟机设置】按钮,如图1-14所示。
  图1-14 编辑虚拟机设置