Hadoop大数据开发基础 1 实训指导手册_第1页
Hadoop大数据开发基础 1 实训指导手册_第2页
Hadoop大数据开发基础 1 实训指导手册_第3页
Hadoop大数据开发基础 1 实训指导手册_第4页
Hadoop大数据开发基础 1 实训指导手册_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程名称:Hadoop大数据开发基础

章节名称:初识Hadoop及HDFS分布式

系统

北京智酷道捷教育科技有限公司

年12月

目录

一、实训目的...................................................................2

二、实训方式....................................................................2

三、实训内容....................................................................2

(-)HADOOP伪分布甄境搭建...............................................2

(二)基于JAVAAPI的编程实例.................................................6

四、实训环境..................................................................60

五、项目答辩..................................................................60

六、评分标准..................................................................62

一、实训目的

为了让学生掌握Hadoop伪分布式系统的搭建,学会使用IDEA开发工具,调用

Hadoop提供的JavaAPI完成对HDFS的基本文件操作(创建目录、递归显示文件、上传

文件、下载文件),特制订本项目实训指导手册。

通过本项目课程的学习,要求学生掌握并达成以下的目标:

>了解Hadoop生态系统。

>掌握HDFS分布式文件系统的基本使用。

>搭建Hadoop伪分布式文件系统。

二、实训方式

项目实训采取理论+实战的学习辅导形式,先理论后实战,循序渐进,以练为主。

具体分为两个部分:实训基础、实战演练。

实训基础:教师带领学生解析项目案例,回顾之前课堂上所学知识,以快速实现

Hadoop伪分布式系统的搭建,并使用IDEA开发工具调用Hadoop提供的JavaAPI完成

对HDFS的基本文件操作。

实战演练:教师带领学生实操完成Hadoop伪分布式系统的搭建,并使用IDEA开发

工具调用Hadoop提供的JavaAPI完成对HDFS的基本文件操作,通过这两个案例的开发

锻炼,逐步了解Hadoop生态系统。

三、实训内容

(-)Hadoop伪分布式环境搭建

1.Hadoop安装的三种模式

Hadoop安装有三种模式,分别是单机模式、伪分布式模式和完全分布式模式,我们

可以根据不同的使用需求选择不同的模式进行安装。

第一次接触Hadoop可以安装单机模式进行体验,这种模式基于单机来运行,安装简

单方便,但无法体现出分布式的任何效果。

伪分布式模式一般是在学习的时候安装使用。仅用于学习时由于不具备相应的硬件环境,

没有那么多机器来进行完整的分布式环境的搭建,这时我们可以采用单台机器使用多个线程

模拟多台机器的效果,其中一个线程可以模拟一台机器,以此模拟真实的分布式环境,从而

体验分布式效果。

完全分布式模式是应用在生产环境的,当我们在生产环境下正式使用Hadoop的时候

就需要采用完全分布式模式来搭建,真实地在多台机器(或启动多个虚拟机)上部署集群,

充分利用集群的威力进行高速运算和存储。

2.搭建的准备工作

下面我们来看一下伪分布式模式搭建的准备工作,首先需要检查一下JDK是否已经安

装好,因为Hadoop是基于Java语言环境的,所以必须事先安装好Java运行环境JDK。

本课程中我们使用Hadoop2.9.2版本,相应的我们推荐使用JDK8版本。

安装JDK8时,要修改/etc/profile文件,并添加以下内容:

exportJAVA_HOME=/opt/jdkl.8.0_65

exportJAVA_BIN=/opt/jdkl.8.0_65/bin

exportPATH=$PATH:$JAVA_HOME/bin

exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/toolsjar

exportJAVA_HOMEJAVA_BINPATHCLASSPATH

执行生效:./etc/profile

其次还需要检查一下安装的这台机器的主机名是否配置过,因为会在后续的配置中引用

这个主机名,如果没有配置主机名,直接引用IP地址会比较麻烦,而且容易出错。

我们可以修改主机名为:

hostnamectlset-hostnamexxx

还需要配置/etc/hosts文件,这个文件主要是完成主机名和IP地址的映射关系,配置

完成后,通过网络访问可以直接使用主机名,也可以使用IP地址。

安装SSH免密通道。在安装过程中线程之间需要模拟主机进行登录,这时需要输入登

录密码,每次都输入密码会很麻烦,也会干扰安装过程,配置免密通道之后登录能够实现自

动化,可以大大提高工作效率。具体如下:

ssh-keygen-trsa

ssh-copy-idroot@hadoop001

配置HADOOP_HOME环境变量,因为后面使用Hadoop在运行的时候很多地方需要

引用这个环境变量,事先配置好在使用的时候可以减少很多麻烦。

3.Hadoop相关配置

完成准备工作之后还需要对Hadoop系统进行配置,首先需要把Hadoop安装包上传

到相应的主机上。主机的操作系统我们推荐使用Linux操作系统,解压上传的安装包后找到

里面的etc目录,这里主要配置以下4个文件:

•酉己置etc/hadoop-env.sh

JAVA_HOME

HADOOP_CONF_DIR

•酉己置etc/hadoop/core-site.xml

<configuration>

<!--指定namenode服务器地址和通信端口号-->

<property>

<name>fs.defaultFS</name>

<value>hdfs://localhost:9000</value>

</property>

<!--指定namenode存放元数据的目录-->

<property>

<name>hadoop.tmp.dir</name>

<value>${HADOOP_HOME}/tmp</value>

</property>

</configuration>

•酉己置etc/hadoop/hdfs-site.xml

<configuration>

<property>

<name>dfs.replication</name>

<value>l</value>

</property>

<property>

<name>.dir</name>

<value>file:/usr/local/hadoop/tmp/dfs/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>file:/usr/local/hadoop/tmp/dfs/data</value>

</property>

</configuration>

•酉己置etc/hadoop/slaves

slaves文件里面记录的是集群里所有DataNode的主机名。

第一个文件hadoop-env.sh主要是配置Hadoop系统运行的一些环境变量,如JDK

安装在什么位置,以及Hadoop相关的配置文件在什么位置等。第二个文件

etc/hadoop/core-site.xml,主要是配置Hadoop相关的一些核心的公共参数。第三个文

件etc/hadoop/hdfs-site.xml,主要是配置与HDFS相关的一些参数。第四个文件

etc/hadoop/slaves,配置在整个集群中哪些机器是DataNode。

4.启动Hadoop

完成相关的配置之后就可以启动Hadoop了,启动后首先要格式化HDFS分布式文件

系统(bin/hdfsnamenode-format),这一步操作与我们使用一块新的硬盘,安装好后需

要先进行格式化才能使用是一样的道理。然后通过命令检查NameNode和DataNode的

后台进程是否正常出现,再继续访问NameNode的web管理页面来确认安装是否成功。

以上就是整个安装的过程。

(二)基于JavaAPI的编程实例

下面我们通过创建目录、递归显示文件、文件上传和文件下载4个实例来练习基于Java

API的编程。

1.Hadoop官网中学习文档的使用

在实际编程之前我们先了解一下Hadoop官方网站中学习文档的使用方法。

进入Hadoop的官网,单击Documentation,在展开的列表中选择使用的版本,这

里选择我们使用的2.9.2版本,进入相应版本的文档页面,如图1、图2所示。

ApacheHadoopDCNWANMDocument810n.CnmmunRy«OevHopment•Help•Otf・

latest

Stable

2.10.0

3.1.3

TheApache™Hadoop®projec32-1sourcesoftwareforreliable,scalable,distributedcomputing.

TheApacheHadoopsoftwareISziorkthatallowsforthedistributedprocessingoflargedatasetsacross

clustersofcomputersusingsim〃jmodels.Itisdesignedtoscaleupfromsingleserverstothousandsof

machines,eachofferinglocalcj----------torage.Ratherthanrelyonhardwaretodeliverhigh-availability,thelibrary

itselfisdesignedtodetectandhandlefailuresattheapplicationlayer,sodeliveringahighly-availableserviceontopofa

clusterofcomputers,eachofwhichmaybepronetofailures.

Leammore»

LatestnewsModulesRelatedprojects

Theprojectincludesthesemodules:OtherHadoop4datedprojectsatApacheinclude:

2019Oct29

图1选择Hadoop版本

cheHadoop2.9.2

ApacheHadoop2.9.2ifapointreteneinthe7.x.yraieawbn«,buMnguponthep«ev«ouf«tabl«rdcate2.9.1.

Hereashortoverviewofthemajorfeaturesandtmprowements.

•YARN

«YARNTimelineServKVv.2.Seeu«crdocumtntatgnformorede«a«i$.

•YARNFederation.S««thedocumwiMion(ormore

•OpportufuweConUmers.Seetheuserdocumentationformoredefait*

•YARNWebUIv.2.S«ettwtmtdocume*itabonformoredctaito.

«ChangmQqueueconfigurationVMAPI(supportedonlyontheCapacityScheduler).Seetheu*e»documenUtionformore

♦UpdateR«M>urce»andExecutionTypeolan•■ocated/runrurx)eontMter.(supportedonlyontheCapaatyScheduief).Seetheuser6g

GettingStarted

TheHadoopdocumentationindude*theinformationyouneedtogetstartedus«>gHadoop.Beginwiththe二•,…whichshowsyouhowtosetup*stngie-nodeHado

;;,(oteamhowto>etup*muki-nodeHadoopinualMion.

图22.9.2版本学习文档页面

在页面左侧目录栏中找到与本例相关的APIdocs,单击该链接,进入Hadoop提供的

介绍Java类相关的信息文档页面,里面有详尽的使用方法说明,如图3、图4所示。

HadoopStreamtnQ

HadocoArdwes

HodoopArthrveLogs

D«Cp

GTX1M<M

Rxxnen

ResourceEstMnator

Service

SchedulerloadStmuheor

M«doopB<nchnwiong

RWcmKe

ConligurditkMi

core-4e<*utt.wni

Mfi-defawK.xnM

m«prcd-dcfau<.xnM

yarn—.xml

DepcecAtedProperg

图3单击APIdocs链接

MtClasses

Packages

<xgipachchadoop

o(g«p«cher>adoof>ant

<xgapachehadoopantconMonApacheHadoopMain2.9.2API

orgapachehadocpdastrfcMon

<xgapochehadoopconf

<xg«p«CheMdMpccntrb凶ou>M

argapachehadocpcantrtiuMk>o*i

orgapachehadocpcrypto

orgapacheMdocpcrnMokey

sqjtoachetuKtocoavotokeyMx

图4进入文档信息页面

在编程时如果遇到问题可以查阅该文档寻找解决方法,提高使用HadoopJavaAPI的

工作效率。下面以查询Configuration为例介绍具体查找方法。

在文档信息页面单击上方的index,如图5所示,进入索引页面。

AllClasses

Packages

PrevNextFramesNoFrames|Navigationj

orgapachehadoop

orgapachehadoopant

orgapachehadoopantconditionApacheHadoopMain2.9.2API

orgapache.hadoopdassificauon

orgapachehadoop.conf

orgapachehadoopcontribbkjoumalCommon

orgapachehadoopcontnbutilsjoin

orgapachehadoopcryptoPadcas*D«scription

orgapachehadoopcrypto.keyorg.apache.hadoop

ora.apache.hadooacryptokev.kms

org.apache.hadoop.ant

।—org.apach«.hadoop.ant.condition

org.apache.hadoop.classification

AbstractCountefsorg.apachc.hadoop.confConfigurationof

AbstractDelegationlbkenldenlifierorg.apache.hadoop.contrib.bkjoumal

AbstractDelegationTokenSecretManager

org.apache.hadoop.contrib.utils.join

AbstraaDNSToSwrtchMappmg

AbstradEventorg.apache.hadoop.crypto

AbslractFileSystemorg.apachv.hadoop.crypto.keyLicensedtothet

AbstractLaunchableSennce

AbstractLrvelinessMonrtoforg.apacht.hadoop.crypto.kcy.kms

AbstradMapWntabteorg.apach».hadoop.crypto.k«y.kms.s»rv«r

AbstradMetTM:

oro.apach%hadoop.crypto.random

图5单击index

在索引页面中按下Ctrl+F组合键,显示查找框,在查找框中输入想要查找的

Configuration,输入元成后Configuration在页面中会美出显示,可以通过单击查找框中

的上、下箭头逐一查看,直到找到我们要查找的引用,如图6所示。

,Index(ApacheH«doopM«r.

C<coo☆A安全http%//hadoop.apache.<xg?i-、/".<)?/*",“Lxfitntf<r50

intSWEoGWHubfluttef/r•Spark

»M(MMne«T»t)Me*>odcciassorgapadtetudoopmetnc»2Me»>csRecoK)8vMe(

AMartimmuut^emetrougobfKl

•MCAtHUactfMric)•M«9XM1mcl«Mcry«p*chehMooomMnctZIMrciRecordButiilef

AMapre-<n«>eraiuMbiemdneabfta

•MtMatncsMo.Otofaet)M»tt>odmctaMcxgapachehadoopnw*K«2MMncSvmgfludda

-Mc*odnOatsoryapacAeh«doopmetncs?MeincSlnngSuMer

Mid(Abitracttf*trfc)Methodtnctessorgapacheh«toot)mMncs?MMrcSImgBuMa)

aM(K«v)-Methodrd«»argapatfteh«doopuMbtocmBtoanMef

»M(K*v|*icwnofg«»cr>erMooputtttoamDynamcfitoomf«r>

»M(K«y)Methodcdassfaoec^eMdoopubibtoomRttoudtedSloornFAet

aM_tM«p«»45Vino)Methodmeice^trano*gapacheMdooprocoxlcomptergenetatedP«rse€Kc«tton

O*pr»cat»d

UMdiocom>9rttawchatKlcn99wtckcapMvarsaonwfwntmerawwmoncannott»usedMpartofanASCH«tnnglaefai

aMAIMCratfanti*,)•MethodmdM»<XQapachehMJoopMtutVyCtettonkM

Copya*oftheac4entoa>«fromonecredenMofifectnioanother

*ddArchlv»ToCia»*l>Mh(P*-^1

MH,

•MArchtvel

•MC»Ch»Arch»v«(VRI)

Add•arcMvwtotwlocated

»4dCach«ftMURl)MMhMmOMSorgapacMhsdoopnMprcdut*JCt>

AOdaMetobexxMnd

•Mevwdcci*»«9«pKhchadoopyamap*record*MeimserMMHmvcMufTmwtneEnMv

•MChMiStrtn9String)MethodmOKMargapactwhAdoopyamaptrvcortMMMknnervK*'oacartNcadrn«>n«CHDfy

»dtfChMr«n(S*«Tten*«in«En<WyW*nM*r*)MaOM«cm*orgapachehadoopyamaparecordsOmetm«te«v<eHterwch<4iTimekn»EnM)*

•ddConfls«(Map<Suing.Stnna»)Malhodcct*MorgapacMhMocvyam<»OKOnHWnatntMmc*TmctewEi

>a:Stnr>0.totnQ)r.<<^n<xlnCU*soq;ap«ctwhMoop*acng,.;

sd<>Contatn*rft»<|u*«t(T)Methodnd«M<napactwtedoopyamdenteAMRMCte

图6在查找框中输入要查找的类并找到需要的引用

单击想要查看的内容,可以快速定位到这个类的页面,在该页面中可以看到这个类相关

的详细信息,包括各类的方法、作用、构造方法等,如图7、图8所示。

图7快速定位到要查找的类的页面

图8进入类的详细信息页面

通过详细的信息页面我们就可以快速查询在编程中遇到的一些问题的解决方法,当然也

可以通过这些文档学习Hadoop其他的相关应用,这也是一个很好的学习途径。

2.Java项目环境搭建

下面我们学习基于JavaAPI的编程用IntelliJIDEA来演示整个项目代码的开发过程。

首先创建新的项目,并完成Java项目环境的搭建。

(1)创建新项目

启动IntelliJIDEA,单击CreateNewProject,打开NewProject对话框,默认显示

为Maven项目,单击Next按钮,如图9、图10所示。

图9单击CreateNewProject

QNewProjectX

*3JavaProjectSDK:电®加

ftJavaEnterprise

JBossCreatefromarchetype

<8J2ME“'v.ivrn.-4!<.netyp<-bamboo-plugin-archetype

■Clouds,-.fm,iv-r:,(■■■,confluence-plugin-archetypc

・Spring,,.tirnivenar-hetypijira-plugin-archetype

,.<••1Ju-tvpjpamaven-archetype

VJavaFX

jbosscc-seam-archetype

♦Android

id<*>data-app

W1IntelliJPUtformPlugin

.fift-archetype-basic

4SpringInitialarIrft-Archetype-blank

2ti.'maven-archetype-har

,­■>s-nmaven-archetype-sar

»uradie

,1.3m.?larrhe-,[>^-.camekarchetype-activemq

0Groovy•cdmel-Aif'-typ-camd-archetype-compon«nt

QGrails•'Hmelatchetyp^.camel-archetype-java

QApplicationForge•<I.iich-t,;.sxamel-archetype-scala

■.>moljn•-typrcamel-archetype-spring

©StaticWeb

,2metdftherypr:-camd-archetype-war

踪Flash>"c-^n:a>ax>n-22-archetype-block

KKotlin,•>'co<oon-22-archetype-block-plain

>trcocoon-22-archetype-webapp

,EmptyProject

maven-archetype-j23叩拈

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论