Spark大数据分析技术与实战(txt+pdf+epub+mobi电子书下载)


发布时间:2020-05-18 07:32:44

点击下载

作者:经管之家

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Spark大数据分析技术与实战

Spark大数据分析技术与实战试读:

前言

随着电子信息、物联网等产业的高速发展,智能手机、平板电脑、可穿戴设备与物联网设备已经渗入到现代化生产与生活的各个方面,每时每刻产生着大量的数据,当今社会已经进入数据爆炸的时代。各领域中的相关数据不仅量大,而且种类繁多、变化速度快、价值密度低。这些日益凸显的大数据特征在全球范围内掀起了一场全新的思维、技术与商业变革,无论是产业界还是学术界都在持续加大在大数据技术和相关领域中的投入。“中国制造2025”战略规划和“互联网+”概念的提出再次为国内大数据技术的发展注入了强劲的动力,大数据技术已被提升到了前所未有的高度,预示了其未来广阔的发展空间与应用前景。

在大数据背景下,各领域对数据相关服务的需求不断提升,迫切需要一种高效通用的大数据处理引擎。相对于第一代大数据生态系统Hadoop中的MapReduce,Spark是一种基于内存的、分布式的大数据处理引擎,其计算速度更快,更加适合处理具有较多迭代次数的问题;Spark中还提供了丰富的API,使其具有极强的易用性;与此同时,Spark实现了“一栈式”的大数据解决方案,即在Spark内核基础上提出了Spark GraphX、Spark Stream ing、Spark MLlib、Spark SQL等组件,使其不仅能够对海量数据进行批处理,同时还具备流式计算、海量数据交互式查询等功能,可以满足包括教育、电信、医疗、金融、电商、政府、智慧城市和安全等诸多领域中的大数据应用需求。

Spark作为下一代大数据处理引擎,经过短短几年的飞跃式发展,正在以燎原之势席卷业界,现已成为大数据产业中的一股中坚力量。

本书主要针对大数据技术初学者,着重讲解了Spark内核、Spark GraphX、Spark SQL、Spark Streaming和Spark MLlib的核心概念与理论框架,并提供了相应的示例与解析,以便读者能够尽快了解Spark。

全书共分为8章,其中前4章介绍Spark内核,主要包括Spark简介、集群部署、工作原理、核心概念与操作等;后4章分别介绍Spark内核的核心组件,每章系统地介绍Spark的一个组件,并附以相应的案例分析。

· 第1章:Spark导论。概述Spark的发展背景与起源,对比MapReduce介绍了Spark的特征、原理与应用场景等。

· 第2章:Spark集群部署。该章详细介绍了Ubuntu下Spark集群的部署过程与注意事项,首先利用VMware Workstation搭建Hadoop分布式集群;然后在集群中安装Scala;最后搭建Standalone模式的Spark集群。

· 第3章:RDD编程。该章对Spark中的弹性分布式数据集(Resilient Distributed Dataset —RDD)这一核心概念进行了详细介绍,重点讲解了与之相关的定义、特征及其操作,并附以相应的示例与解析。

· 第4章:Spark调度管理与应用程序开发。该章阐述了Spark底层的工作机制,介绍了Spark应用程序从产生作业到最终计算任务的整个流程;基于IntelliJ IDEA讲解了Spark应用程序的开发过程,并介绍了如何在本地与集群模式下提交运行Spark应用程序。

· 第5章:GraphX。该章介绍了GraphX的基本原理,着重讲解了GraphX中弹性分布式属性图的定义、表示模型、存储方式以及其上的丰富操作;以经典的PageRank与三角形计数等图计算算法为例,讲解了GraphX中相关接口的使用方法。

· 第6章:Spark SQL。该章包含了Spark SQL概述、SQL语句的处理流程、DataFrame数据模型的概念与相关操作等;并将Spark SQL与Hive相结合,给出了一个学生信息管理系统的设计与实现。

· 第7章:Spark Streaming。该章介绍了Spark Streaming的发展与应用场景以及批处理时间间隔、窗口间隔、滑动间隔等核心概念;着重讲解了DStream数据模型的概念与相关操作;针对不同应用场景下的流式计算需求,给出了有状态与无状态模式下的Spark Streaming应用案例与解析。

· 第8章:Spark MLlib。该章介绍了Spark MLlib中向量、LabeledPoint、矩阵等核心数据类型的定义与使用;详细介绍了机器学习中分类、回归、聚类、协同过滤等经典算法的Spark实现与应用,并附以相应的案例与解析。

由于时间短,加之笔者水平有限,书中难免有疏漏之处,敬请读者朋友批评指正。编 者2017年5月第1章Spark导论

半个多世纪以来,人类社会正由工业社会全面进入信息社会,其主要动力来自于以计算机技术、通信技术和控制技术为核心的现代化信息技术的飞速发展和扩展应用。信息继物质、能源之后,成为人类社会的第三大资源,可以说信息维系并推动着社会与经济的生存与发展。

近年来,互联网+概念的提出为信息技术的发展注入了更强劲的动力。所谓“互联网+”是互联网思维的进一步实践与拓展,它代表一种先进的生产力,推动经济形态不断演变,从而为实体经济的改革、发展和创新提供了广阔的网络平台。“互联网+”利用信息通信技术把互联网和包括传统行业在内的各行各业结合起来,例如互联网+金融衍生出互联网金融;互联网+零售衍生出电子商务;互联网+制造业衍生出工业4.0等。但这些并不是简单的两者相加,而是利用信息通信技术以及互联网平台让互联网与传统行业进行深度融合,创造新的发展生态。由此可见,互联网+、工业4.0等这些概念都与信息技术有着最密切和最直接的关系。信息技术的发展已经提升到国家战略层面这一前所未有的高度。

一般来说,信息既是对各种事物的特征和变化的反映,又是事物之间相互作用和联系的表征。人们通过信息来认识事物。信息以数据作为载体,数值、文字、语言、图形、图像等都是不同形式的数据。所以信息技术所处理的最主要对象就是数据。目前我们正处在一个数据爆炸的时代,大量涌现的智能手机、平板电脑、可穿戴设备及物联网设备每时每刻都在产生新的数据。据统计,有90%的数据是在过去短短两年内产生的,到2020年,将有500多亿台的互联设备产生Zeta字节级的数据。在这一背景和趋势下,产业界将数据驱动的发展策略逐渐提升到前所未有的高度;在传媒、金融、电信等众多传统领域中,以往沉积的“垃圾”数据被重新审视,如何利用大数据分析技术“变废为宝”已经成为企业进行创新与盈利的一种重要模式;在学术界,国内外越来越多的高校和研究机构在云计算和大数据相关领域开展了深入的研究工作。然而在大数据时代,带来革命性改变的并非仅仅数据量本身,还有数据的种类、变化速度和价值密度。随着大数据特征的日益凸显,传统的信息技术已经难以准确高效地处理大数据背景下的数据采集、表示、存储、传输、处理等一系列问题。因此大数据相关技术是当前信息技术发展中亟需解决的关键技术。

综上所述,信息技术是推动未来社会发展的一种主流技术,信息技术处理的对象是数据,而当前的数据具有大数据特征,所以大数据技术成为了信息技术的重中之重。本书介绍的 Spark以其卓越的性能,是目前大数据领域中最具潜力和影响力的处理引擎。1.1 Spark的发展

第一代大数据生态系统Hadoop已经非常成功,其采用HDFS实现分布式存储,使用MapReduce进行分布式计算。MapReduce是一个简单通用和自动容错的批处理计算模型,不仅极大地简化了并行程序的开发过程,而且提高了程序执行的效率。然而在 MapReduce任务内部,为了防止 Reduce任务的失败,Map通常会把结果存储在磁盘上。由于MapReduce每次都需要将中间数据写回磁盘,导致网络通信、磁盘I/O等消耗了大量的系统资源,尤其是在处理具有较多迭代次数的计算任务时,这一缺点尤为突出。因此 MapReduce的运算性能仍难以满足面向大数据的交互式查询、迭代计算、流式计算等方面的需求。为了弥补MapReduce这一不足,涌现出了一系列专用的数据处理模型,例如 Storm、Impala、GraphLab等。随着新模型的不断出现,不同类型的作业需要一系列不同的处理框架才能很好地完成,然而这无形中又增加了系统在部署、测试、运维等方面的成本。

针对MapReduce及各种专用数据处理模型在计算性能、集成性、部署运维等方面的问题,2009年美国加洲大学伯克利分校开始研发全新的大数据处理框架,即Spark。2010年,Spark实现开源。自从2013年Spark进入Apache的孵化器项目后,发生了翻天覆地的变化。2014年初,Spark成为了Apache排名第三的顶级项目,其发展势头更加迅猛,一个多月左右就会发布一个小版本,两三个月左右会发布一个大版本,2015年6月份发布了1.4.0,2015年9月份发布了1.5.0,至本书作者执笔时已经发布到2.0。

Spark的迅猛发展和其突出的计算性能引起了大数据处理相关领域的广泛关注,使得其迅速成为了业内一门具有强劲竞争力的热门技术。在短短的三年时间里,世界各地开设了多次 Spark主题峰会,反映出Spark技术的前沿性与火爆的发展势头。在2014年的Spark峰会上,Hadoop三大发行商均声称未来将会把精力投入到Spark的研究中;Yahoo有全世界最强大的Hadoop集群(Hadoop的70%是由Yahoo贡献的),但早在几年前Yahoo便已经开启了Spark的研发工作;Intel、IBM等大公司纷纷宣布其产品支持Spark;亚马逊完全基于Spark搭建了云服务平台;Google、Facebook也陆续开展了转向Spark框架的研发工作。

同样也是在2014年Spark在中国的发展达到了一个前所未有的火爆状态。国内许多重量级的数据企业纷纷搭建了自己的Spark集群。例如2015年百度搭建了一个大规模的Spark集群,其中最大单集群规模达上千台节点,包含了数万个核心和上百 TB的内存,与此同时公司内部还运行着大量的小型Spark集群。淘宝的推荐系统已经用Spark取代了部分的MapReduce。腾讯通过Spark对数据实时采集、算法实时训练、系统实时预测,进而实现了大数据背景下的精准推荐。目前国内最大规模的Spark集群来自于腾讯,其中包含了8000个节点,而最大的单个Job则来自于阿里巴巴。虽然上述集群中节点数目看似不多,但是1000个节点的Spark集群,其性能相当于包含5000个节点的Hadoop集群。1.2 什么是Spark

Apache官网对Spark定义如下:

“Apache Spark is a fast and general engine for large-scale data processing”

由此可见,Spark 是一个快速通用的大规模数据处理引擎。Spark的功能看似与Hadoop相同,但是两者却有着明显的区别。Hadoop是一个开源分布式计算平台,是第一代大数据生态系统,也是目前应用最为广泛的大数据生态系统。Hadoop以分布式文件系统 HDFS和分布式计算 MapReduce为核心,为用户提供了系统底层细节透明的分布式基础框架。HDFS的高容错性、高伸缩性等优点允许用户将Hadoop部署在低廉的硬件上;M apReduce分布式编程模型允许用户在不了解分布式系统底层细节的情况下开发并行应用程序。因此用户利用Hadoop能够轻松地组织计算机资源,从而搭建自己的分布式计算平台,并且可以充分利用集群的计算和存储能力完成海量数据的处理。Spark作为大数据处理引擎与Hadoop有着密切的联系,但是两者并非是一个层面的概念。Hadoop不仅有数据的处理还有数据的存储,而Spark仅仅是大数据处理框架。因此Spark其实与Hadoop上的MapReduce是一个层面的概念。目前的Hadoop已经趋于完善,其中的Yarn与HDFS非常经典,已经成为了业内大数据存储和分布式资源管理的标准,在未来短时间内难以被轻易取代。很多资料均预言 Spark将取代Hadoop,其实是指取代Hadoop中的MapReduce。1.3 Spark主要特征

Spark是一种基于内存的、分布式的、大数据处理框架,它与Hadoop上的MapReduce是一个层面上的概念,这意味着两者在诸多方面存在着竞争与可比性。本节将通过与MapReduce的对比分析来介绍Spark的主要特征。1.3.1 快速

面向磁盘的MapReduce受限于磁盘读/写性能和网络I/O性能的约束,在处理迭代计算、实时计算、交互式数据查询等方面并不高效,但是这些却在图计算、数据挖掘和机器学习等相关应用领域中非常常见。针对这一不足,将数据存储在内存中并基于内存进行计算是一个有效的解决途径。Spark是面向内存的大数据处理引擎,这使得 Spark能够为多个不同数据源的数据提供近乎实时的处理性能,适用于需要多次操作特定数据集的应用场景。

在相同的实验环境下处理相同的数据,若在内存中运行,那么Spark要比MapReduce快100倍,如图1.1所示;在磁盘中运行时Spark要比MapReduce快10倍,如图1.2所示。综合各种实验表明,处理迭代计算问题Spark要比MapReduce快20多倍,计算数据分析类报表的速度可提高40多倍,能够在5~7秒的延时内交互式扫描1TB数据集。图1.1 基于内存Spark与MapReduce执行逻辑回归的性能对比

排序问题是最考验系统性能的问题之一。图1.2是Spark与MapReduce对相同的100TB数据样本排序的性能对比。在实验中,MapReduce用了2100台节点,用时72分钟;而Spark仅用207台节点,是前者的1/10,用时23分钟,是前者的1/3。图1.2 基于磁盘Spark与MapReduce对100T数据排序的性能对比

Spark与MapReduce相比在计算性能上有如此显著的提升,主要得益于以下两方面。

1.Spark是基于内存的大数据处理框架

Spark既可以在内存中处理一切数据,也可以使用磁盘来处理未全部装入到内存中的数据。由于内存与磁盘在读/写性能上存在巨大的差距,因此CPU基于内存对数据进行处理的速度要快于磁盘数倍。然而MapReduce对数据的处理是基于磁盘展开的。一方面,MapReduce对数据进行Map操作后的结果要写入磁盘中,而且Reduce操作也是在磁盘中读取数据,另一方面,分布式环境下不同物理节点间的数据通过网络进行传输,网络性能使得该缺点进一步被放大。因此磁盘的读/写性能、网络传输性能成为了基于MapReduce大数据处理框架的瓶颈。图1.3为MapReduce数据处理流程示意图。图1.3 MapReduce数据处理流程示意图

2.Spark具有优秀的作业调度策略

Spark中使用了有向无环图(Directed Acyclic Graph,DAG)这一概念。一个Spark应用由若干个作业构成,首先 Spark将每个作业抽象成一个图,图中的节点是数据集,图中的边是数据集之间的转换关系;然后Spark基于相应的策略将DAG划分出若干个子图,每个子图称为一个阶段,而每个阶段对应一组任务;最后每个任务交由集群中的执行器进行计算。借助于DAG,Spark可以对应用程序的执行进行优化,能够很好地实现循环数据流和内存计算。1.3.2 简洁易用

Spark不仅计算性能突出,在易用性方面也是其他同类产品难以比拟的。一方面,Spark提供了支持多种语言的API,如Scala、Java、Python、R等,使得用户开发Spark程序十分方便。另一方面,Spark是基于Scala语言开发的,由于Scala是一种面向对象的、函数式的静态编程语言,其强大的类型推断、模式匹配、隐式转换等一系列功能结合丰富的描述能力使得 Spark应用程序代码非常简洁。Spark的易用性还体现在其针对数据处理提供了丰富的操作。在使用MapReduce开发应用程序时,通常用户关注的重点与难点是如何将一个需求 Job(作业)拆分成 Map和 Reduce。由于MapReduce中仅为数据处理提供了两个操作,即Map和Reduce,因此系统开发人员需要解决的一个难题是如何把数据处理的业务逻辑合理有效地封装在对应的两个类中。与之相对比,Spark提供了80多个针对数据处理的基本操作,如 map、flatMap、reduceByKey、filter、cache、collect、textFile等,这使得用户基于Spark进行应用程序开发非常简洁高效。以分词统计为例,虽然MapReduce固定的编程模式极大地简化了并行程序开发,但是代码至少几十行;若换成Spark,其核心代码最短仅需一行,如示例1-1所示,极大地提高了应用程序开发效率。

示例1-1 基于Spark的WordCount程序核心代码

此外,MapReduce自身并没有交互模式,需要借助Hive和Pig等附加模块。Spark则提供了一种命令行交互模式,即Spark Sheep,使得用户可以获取到查询和其他操作的即时反馈。

但需要注意的是,在Spark的实际项目开发中多用Scala语言,约占70%;其次是Java,约占20%;而Python约占10%。通常使用方便、简洁的工具,其内部往往封装了更为复杂的机理,因此Scala与Java等语言比较起来,学习难度要大一些。1.3.3 通用

相对于第一代的大数据生态系统Hadoop中的MapReduce,Spark 无论是在性能还是在方案的统一性方面,都有着极大的优势。Spark框架包含了多个紧密集成的组件,如图1.4所示。位于底层的是Spark Core,其实现了Spark的作业调度、内存管理、容错、与存储系统交互等基本功能,并针对弹性分布式数据集提供了丰富的操作。在Spark Core的基础上,Spark提供了一系列面向不同应用需求的组件,主要有Spark SQL、Spark Streaming、MLlib、GraphX。图1.4 Spark软件栈

1.Spark SQ L

Spark SQL是Spark用来操作结构化数据的组件。通过Spark SQL,用户可以使用SQL或者Apache Hive版本的SQL方言(HQL)来查询数据。Spark SQL支持多种数据源类型,例如Hive表、Parquet以及JSON等。Spark SQL不仅为Spark提供了一个SQL接口,还支持开发者将SQL语句融入到Spark应用程序开发过程中,无论是使用Python、Java还是Scala,用户可以在单个的应用中同时进行SQL查询和复杂的数据分析。由于能够与Spark所提供的丰富的计算环境紧密结合,Spark SQL得以从其他开源数据仓库工具中脱颖而出。Spark SQL在Spark l.0中被首次引入。在Spark SQL之前,美国加州大学伯克利分校曾经尝试修改Apache Hive以使其运行在Spark上,进而提出了组件Shark。然而随着Spark SQL的提出与发展,其与Spark引擎和API结合得更加紧密,使得Shark已经被Spark SQL所取代。

2.Spark Stream ing

众多应用领域对实时数据的流式计算有着强烈的需求,例如网络环境中的网页服务器日志或是由用户提交的状态更新组成的消息队列等,这些都是实时数据流。Spark Streaming是Spark平台上针对实时数据进行流式计算的组件,提供了丰富的处理数据流的API。由于这些API与Spark Core中的基本操作相对应,因此开发者在熟知Spark核心概念与编程方法之后,编写Spark Stream ing应用程序会更加得心应手。从底层设计来看,Spark Streaming支持与Spark Core同级别的容错性、吞吐量以及可伸缩性。

3.MLlib

MLlib是Spark提供的一个机器学习算法库,其中包含了多种经典、常见的机器学习算法,主要有分类、回归、聚类、协同过滤等。MLlib不仅提供了模型评估、数据导入等额外的功能,还提供了一些更底层的机器学习原语,包括一个通用的梯度下降优化基础算法。所有这些方法都被设计为可以在集群上轻松伸缩的架构。

4.GraphX

GraphX是Spark面向图计算提供的框架与算法库。GraphX中提出了弹性分布式属性图的概念,并在此基础上实现了图视图与表视图的有机结合与统一;同时针对图数据处理提供了丰富的操作,例如取子图操作subgraph、顶点属性操作mapVertices、边属性操作mapEdges等。GraphX还实现了与Pregel的结合,可以直接使用一些常用图算法,如PageRank、三角形计数等。

上述这些 Spark核心组件都以 jar包的形式提供给用户,这意味着在使用这些组件时,与MapReduce上的Hive、Mahout、Pig等组件不同,无需进行复杂烦琐的学习、部署、维护和测试等一系列工作,用户只要搭建好 Spark平台便可以直接使用这些组件,从而节省了大量的系统开发与运维成本。将这些组件放在一起,就构成了一个Spark软件栈。基于这个软件栈,Spark提出并实现了大数据处理的一种理念——“一栈式解决方案(one stack to rule them all)”,即Spark可同时对大数据进行批处理、流式处理和交互式查询,如图1.5所示。借助于这一软件栈用户可以简单而低耗地把各种处理流程综合在一起,充分体现了Spark的通用性。图1.5 Spark面向大数据的综合处理示意图1.3.4 多种运行模式

Spark支持多种运行模式:本地local运行模式、分布式运行模式。Spark集群的底层资源可以借助于外部的框架进行管理,目前Spark对Mesos和Yarn提供了相对稳定的支持。在实际生产环境中,中小规模的 Spark集群通常可满足一般企业绝大多数的业务需求,而在搭建此类集群时推荐采用Standalone模式(不采用外部的资源管理框架)。该模式使得Spark集群更加轻量级。

Spark on Yarn模式:在这一模式下,Spark作为一个提交程序的客户端将Spark任务提交到Yarn上,然后通过Yarn来调度和管理Spark任务执行过程中所需的资源。在搭建此模式的Spark集群过程中,需要先搭建Yarn集群,然后将Spark作为Hadoop中的一个组件纳入到Yarn的调度管理下,这样将更有利于系统资源的共享。

Spark on Mesoes模式:Spark和资源管理框架Mesos相结合的运行模式。Apache Mesos与Yarn类似,能够将CPU、内存、存储等资源从计算机的物理硬件中抽象地隔离出来,搭建了一个高容错、弹性配置的分布式系统。Mesos同样也采用Master/Slave架构,并支持粗粒度模式和细粒度模式两种调度模式。

Spark Standalone模式:该模式是不借助于第三方资源管理框架的完全分布式模式。Spark使用自己的Master进程对应用程序运行过程中所需的资源进行调度和管理。对于中小规模的Spark集群首选Standalone模式。本书将着重介绍Standalone模式下Spark集群的搭建方法。第2章Spark集群部署

搭建Spark平台是开发Spark应用程序的第一步,也是至关重要的一步。针对不同的应用场景,Spark集群的运行模式有多种,本章将详细介绍Standalone模式下Spark集群的部署。对Local、Mesos、Yarn模式下的部署不作具体介绍,如有需要,请读者自行参考相关文档。2.1 运行环境说明2.1.1 软硬件环境

主机操作系统:Windows 8,64位。

处理器:Intel(R)Core(TM)i5-5200U CPU@ 2.2GHz 2.2GHz。

内存:8.0 GB。

虚拟软件:VMware Workstation 10。

虚拟机操作系统:CentOS6.5(64位),双核,2G内存。

虚拟机运行环境:JDK1.7(64位),Hadoop2.5.2,Scala2.10.4,Spark1.4.0。2.1.2 集群网络环境

本书演示所用集群共包含三个节点,所有节点均是CentOS6.5 64位系统,防火墙均禁用,每个节点上创建了一个dong用户,用户的主目录是/home/dong,节点之间可以免密码SSH访问,节点IP地址和主机名分布如表2.1所示。表2.1 集群环境表

其中NameNode表示Hadoop集群中的主节点,DataNode表示Hadoop集群中的从节点,Master表示Spark集群中的主节点,Worker表示Spark集群中的从节点。2.2 安装VMware Workstation 11

对于Spark初学者,在软硬件资源有限的条件下搭建一个高性能、包含多物理节点的Spark集群比较困难。为方便讲解与演示,本书首先使用VMware Workstation构建的实验环境模拟分布式集群。VMware Workstation虚拟机是一个在Windows或Linux上运行的应用程序,它可以模拟标准的PC环境。这个环境和真实的计算机一样,都有芯片组、CPU、内存、显卡、声卡、网卡、软驱、硬盘、光驱、串口、并口、USB控制器、SCSI控制器等设备,提供这个应用程序的窗口就是虚拟机的显示器。在使用上,这台虚拟机和真正的物理主机没有太大的区别,都需要分区、格式化、安装操作系统、安装应用程序和软件。总之,在虚拟机上的一切操作都跟一台真正的计算机一样。VMware Workstation11安装步骤如下:

第1步,打开 VMware Workstation 11,界面如图2.1所示。图2.1 VMware Workstation 11安装第1步界面

第2步,等待安装软件检测和解压以后,出现如图2.2所示界面,单击“下一步”按钮即可。图2.2 VMware Workstation 11安装第2步界面

第3步,选择同意选项,并单击“下一步”按钮,如图2.3所示。图2.3 VMware Workstation 11安装第3步界面

第4步,用户根据自己实际情况选择相应的安装类型。此处我们选择“自定义”安装,然后单击“下一步”按钮,如图2.4所示。图2.4 VMware Workstation 11安装第4步界面

第5步,用户根据自己的实际情况选择相应的功能模块。此处我们选择所有功能模块,并修改了安装路径,如图2.5所示。图2.5 VMware Workstation 11安装第5步界面

第6步,配置虚拟机的存储路径和HTTPS端口,此处我们选用默认选项,单击“下一步”按钮如图2.6所示。图2.6 VMware Workstation 11安装第6步界面

第7步,用户可根据实际情况选择对“软件更新”进行配置。图2.7 VMware Workstation 11安装第7步界面

第8步,用户可根据实际情况对“用户体验改进计划”进行配置。图2.8 VMware Workstation 11安装第8步界面

第9步,快捷方式配置,此处我们选择默认配置,单击“下一步”按钮,如图2.9所示。图2.9 VMware Workstation 11安装第9步界面

第10步,进行安装。单击“继续”按钮,如图2.10所示。图2.10 VMware Workstation 11安装第10步界面

第11步,输入注册码,完成相应安装,如图2.11所示。图2.11 VMware Workstation 11安装第11步界面2.3 安装CentOS 6

第1步,打开VMware Workstation11,单击“创建新的虚拟机”按钮,如图2.12所示。图2.12 CentOS安装第1步界面

第2步,选择“典型”选项,单击“下一步”按钮,如图2.13所示。图2.13 CentOS安装第2步界面

第3步,选择“安装程序光盘映像文件”选项,选择指定的CentOS系统的.iso文件,如图2.14所示,然后单击“下一步”按钮。图2.14 CentOS安装第3步界面

第4步,填写简易安装信息,为方便演示,此处将“全名”、“用户名”、“密码”、“确认”均设置为dong,然后单击“下一步”按钮,如图2.15所示。图2.15 CentOS安装第4步界面

第5步,设置“虚拟机名称”,此处设为master,并为虚拟机选择安装位置,然后单击“下一步”按钮,如图2.16所示。图2.16 CentOS安装第5步界面

第6步,指定磁盘容量,默认20GB略小,建议调大此参数值,此处设置为40GB,然后单击“下一步”按钮,如图2.17所示。图2.17 CentOS安装第6步界面

第7步,单击“自定义硬件”按钮,配置虚拟机硬件参数,如图2.18所示。然后单击“完成”按钮。具体的硬件参数设置,如图2-19所示。图2.18 CentOS安装第7步界面(1)图2.19 CentOS安装第7步界面(2)

第8步,等待安装完成后系统自动重启,然后显示如2.20所示的重启界面;输入密码,显示如图2.21所示的登录界面。图2.20 CentOS安装完成后重启界面图2.21 CentOS系统登录后界面2.4 安装Hadoop2.4.1 克隆并启动虚拟机

第1步,若master已经开启,首先将其关闭。

第2步,在左侧导航栏中,右键单击master客户机,选择“管理”->“克隆”选项,如图2.22和图2-23所示。打开“克隆虚拟机向导”、单击“下一步”按钮。图2.22 克隆master步骤2界面(1)

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载