![Hadoop大数据开发基础 1 实训指导手册_第1页](http://file4.renrendoc.com/view5/M01/19/13/wKhkGGabOxmALV50AADDW3d_7NQ301.jpg)
![Hadoop大数据开发基础 1 实训指导手册_第2页](http://file4.renrendoc.com/view5/M01/19/13/wKhkGGabOxmALV50AADDW3d_7NQ3012.jpg)
![Hadoop大数据开发基础 1 实训指导手册_第3页](http://file4.renrendoc.com/view5/M01/19/13/wKhkGGabOxmALV50AADDW3d_7NQ3013.jpg)
![Hadoop大数据开发基础 1 实训指导手册_第4页](http://file4.renrendoc.com/view5/M01/19/13/wKhkGGabOxmALV50AADDW3d_7NQ3014.jpg)
![Hadoop大数据开发基础 1 实训指导手册_第5页](http://file4.renrendoc.com/view5/M01/19/13/wKhkGGabOxmALV50AADDW3d_7NQ3015.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程名称: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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度铁路旅客运输服务质量监督合同
- 二零二五年度高端健身教练雇佣合同范本
- 税法(第5版) 课件 曹越 第13章 印花税;第14章 耕地占用税
- Unit+1+Meeting+new+people+Part+A++How+do+we+get+to+know+people【知识精研】人教PEP版(2024)英语三年级下册+
- 2.4噪声的危害和控制(课件)-2023-2024学年八年级物理上册同步
- 《风险价值观念》课件
- 《AOPP诊治进展》课件
- 1开开心心上学去+第1课时+【知识精研】道德与法治一年级上册统编版
- 2025至2031年中国吊式人形沙袋行业投资前景及策略咨询研究报告
- 《科技改变生活》课件
- 2024中国妇科临床实践指南-卵巢癌
- 《C语言程序设计(第5版)》全套教学课件
- 儿科新生儿脐炎培训课件
- 2024年苏州市职业大学单招职业适应性测试题库及答案解析
- 2024过敏性休克抢救指南(2024)课件干货分享
- 09BD13建筑物防雷装置
- 医疗行业提高医院服务质量的改进方案三篇
- GB/T 44122-2024工业互联网平台工业机理模型开发指南
- 预应力空心方桩打桩工程监理实施细则
- 飞机仪电与飞控系统原理智慧树知到期末考试答案章节答案2024年中国人民解放军海军航空大学
- 数据分析应用项目化教程(Python) 课件 项目1 认识数据分析
评论
0/150
提交评论