hadoop教程-培训课件_第1页
hadoop教程-培训课件_第2页
hadoop教程-培训课件_第3页
hadoop教程-培训课件_第4页
hadoop教程-培训课件_第5页
免费预览已结束,剩余73页可下载查看

付费下载

下载本文档

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

文档简介

法律【】和幻灯片为炼数成金网络课程的教学资料,所有资料只能在课程内使用,不得在课程以外范围散播,违者将可能被法律和经济责任。课程详情

炼数成金培训http:

DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海著名的开源组织:GNUGNU计划,又称革奴计划,是由RichardStallman在目标是创建一套完全公开发起的。它的的操作系统。Richard

Stallman最早是在net.unix-wizards组上 该消息,并附带一份《GNU》等解释为何发起该计划的文章,其中一个理由就是要“重现当年

界合作互助的团结精神”。为保证GNU

可以制、修改和发布”,所有GNU地“使用、复都在一份在其他人添加任何限制的情况下

所利给任何人的协议条款,GNU通用公共

证(GNUGeneral

Public

License,GPL)。即“反 ”(或称Copyleft)概念。DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海Apache(ASF)DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师开源

协议

内容随意使用

、将

用于任何目的的权利对

工作原理的重新发布

副本的权利改进

并将其发布给公众的权利DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海MySQL 公共 证FPLMySQL可以允许在各种实体(包括商业实体)

使用,但没有技术支持。然而,商业目的分发,或

或全部包含或从派生的东西,都需要从TcX

AB申请一个的商业

证,它是唯一的

发证实体。用户不能“免费”地在一个含有任何内容的

包中包含Mysql。只有以下情形除外: 证的第二款允许运营FTP服务器或 的商业组织免费分发Mysql,如果:该组织遵守FPL的其他条款,其中包括要求分发Mysql和任何派生产品的全部源代码,并且与Mysql一起分发FPL本身;并且服务器或 可由一般公众 ,且任何人可以获得信息的存取(可能

但该费用不依赖于或相关于 其他东西)。DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海BSD开源协议BSD开源协议是一个给予使用者很大

的协议。基本上使用者可以“”可以

的使用,修改源代码,也可以将修改后的代码作为开源或者专有

再发布。但“

”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。如果再发布的只是二进制类库/

,则需要在类库/

的文档和

中包含原来代码中的BSD协议。不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海Apache

Licence

2.0ApacheLicence是著名的非开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业)。需要满足的条件也和BSD类似:需要给代码的用户一份Apache

Licence如果你修改了代码,需要再被修改的文件中说明。在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利

和其他原来作者规定需要包含的说明。如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有ApacheLicence。你可以在Notice中增加自己的 ,但不可以表现为对Apache

Licence构成更改。DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海GPL

vesion

2.0

1991或免费的方式发布该

,但您也必须告知您的收或免费的方式再次发送,您不得要求

者放式

条款:您

采用受者,他们同样拥有此权利,即用弃此权利。不允许闭源条款:您可以取得源代码并作您喜欢的修改,也可将之出售

,但您的人若要求您提供源代码,您不能

,或至少应该告知其在何处可以找到源代码。您的

人也可将该源代码进行修改或出售,您不得要求

人放弃此权利。DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海对比DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海对比DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海对比DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海开源图什么?通过服务(支持,培训,补丁等等)赢利迅速击垮对手,占领市场吸引大量不需要

的开发者加入,实现共赢。过去开源运动主要以个人力量(占据道德制高点的圣人)为主导,但近年来逐步过渡发展为以企业力量为主导通过其他迂回的方式获利(参考安卓)DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海开源

普遍存在的问题缺乏整套的解决方案缺乏完善的企业级别服务支持,很多时候出了问题只能靠自己去解决在稳定性,安全性,数据可用性,平滑升级等方面存在普遍的不足,而解决这些问题通常要修改源代码。需要使用者对C++、Java,相应平台的运行机制等有深刻了解。因此使用开源的企业一般需要聘请技术能力较为高强的员工,在证上省去的费用可能开支上付回Hadoop,NoSQL,Openstack这类开源

大多涉及复杂的分布式系统,大部分企业的运维团队,对于

此类大型系统都缺乏经验能力,如果没有强力的支持,分布式系统遇到的各种麻烦

可能也会让使用者在开源的道

无法走远国内确实有不少企业拥抱开源,但也可以看到最终成功的,都是本身拥有强大技术团队的大型企业,特别是一些互联网巨头。但对于技术力量稍逊的传统企业,大部分在稍作尝试后就不得不放弃DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海为什么要研究Hadoop源代码修补Bug增加或完善功能优化再发布通过研究源代码深度熟悉系统,实现“人码合一”DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海环境准备Java开发环境搭建(基础开发环境)Eclipse(IDE)Hadoop源码包(被研究对象)Ant(依赖工具)EA(UML工具)EA连接Eclipse插件DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海环境准备讲师Hadoop数据分析平台第二版环境准备DATAGURU专业数据分析社区讲师Hadoop数据分析平台第二版环境准备DATAGURU专业数据分析社区讲师Hadoop数据分析平台第二版环境准备DATAGURU专业数据分析社区讲师Hadoop数据分析平台第二版导入源码到Eclipse中导入hadoop源码中的类文件到IDE中解决导入后出现的错误DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海导入源码到Eclipse中打开EclipseDATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海导入源码到Eclipse中新建java工程File->new

others->Java

Project->NextDATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海导入源码到Eclipse中框Y

or输入工程名字和工程地址点击完成,其它的设置后续进行弹出试图选择N都可以DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海导入源码到Eclipse中导入hadoop源码中的类文件到Eclipse中:右击工程中的src,然后选择importDATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海导入源码到Eclipse中导入hadoop源码中的类文件到Eclipse中:导入tools包DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海导入源码到Eclipse中导入hadoop源码中的类文件到Eclipse中:同样的方法导入hdfs包、mapred包、core包DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海导入源码到Eclipse中解决导入后的错误:右击工程选择属性DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海导入源码到Eclipse中解决导入后的错误:全选lib文件夹下的jar包点击okDATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海导入源码到Eclipse中JspHelper类的错误解决:同样的方式增加两个jar包DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海导入源码到Eclipse中解决导入后的错误:security包的错误

可以不关心,因为是jdk的

限制并不是不能

,不会影响编译。DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海通过源码生成类图安装EA通过EA连接Eclipse的插件使得eclipse中的源码在EA中以多种图的形式展现去掉多余的类找出源码的

类及它们之间的关系初步掌握源码阅读的技巧(查看一个基类或接口的派生类或实现类、查看函数的调用关系、快速查找类对象)DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海通过源码生成类图安装EA和MDGDATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海通过源码生成类图打开ea,创建工程hadoopLearningDATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海通过源码生成类图打开ea,创建工程hadoopLearning,选择uml2.0的基本图中的类图DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海通过源码生成类图生成类图:右击Class

Model,在弹出的扩展选项中选择连接外部工程->eclipseDATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海通过源码生成类图只有一个工程,如果有多个发现它会自动发现系统已经创建的eclipse工程,这里选择要关联的工程即可,然后点击connectDATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海通过源码生成类图生成类图:右击Class

Model,在弹出的扩展选项中选择merge

with

eclipse表示要进行eclispe与ea的合并DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海通过源码生成类图框,这里的同步选经过1s左右的分析处理,这主要取决工程的大小,会出现同步项需要注意下:None:只生成UML类图Forward:正向生成代码uml->java代码Reverse:反向生成代码java代码->umlBoth:同时正向+反向DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海通过源码生成类图等待操作完成后可以看见class

model中增加了

这个包,这就是从eclipse中导入的类,重命名Class

Model类图为conf,并双击此视图,并删除左侧出现的提示信息框。DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海通过源码生成类图拖拽Configurable接口到左边的视图出的

框中选择只作为简单的

即可DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海通过源码生成类图同样的方法拖拽剩下的两个类到左边的视图中,会发现ea自动创建了他们之间的关系,并显示出类中的属性、方式等标示信息,至此一个简单的类图生成结束DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海通过源码生成类图如果关联的类非常多,非常复杂的情况下,通常先关联一部分或是直接删除非类中的关联即可。(一个类被越多的连接线连接证明这个类的使用越频繁,位置也越重要)DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海源码组织结构Src(源码

):hadoop源码C++:linux下amd64-64位系统以及i386-32位系统提供的库文件集合Contrib:此

下针对hadoop运行过程中需要特殊强化的模块进行了模块化封装,此为其发布包以及相应的配置文件Conf(配置文件):此

下为运行与配置hadoop环境需要的配置文件以及示例文件集合,实际运行时可以对照此

下的文件结构进行相应的配置Lib(依赖库):此 下包含编译以及运行hadoop环境必须的其他模块jar包集合Bin( ):

hadoop配置、运行以及管理的s

命令集合docs:此

下包含对于hadoop运行配置的基本文档,包括html和pdf两种格式DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海Eclipse插件编译解压并配置ant环境变量修改eclipse-plugin相关的build配置文件并准备jar包执行ant命令对插件做最后的修改,修改配置文件及jar包DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海Eclipse插件编译1、解压ant包到d盘soft下,并配置环境变量DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海Eclipse插件编译DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师Eclipse插件编译2、解压hadoop源码包到D:\soft3、修改hadoop包中src\contrib和eclipse路径下的build-contrib.xml文件,补充hadoop版本DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海Eclipse插件编译4、修改eclipse-plugin/build.xml文件,增加红框内的三行内容并删除

deprecation=“${javac.deprecation}”DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海Eclipse插件编译5、

hadoop

中的mons-cli-1.2.jar到hadoophome\build\ivy\lib\Hadoop\common下6、 hadoop

home下的hadoop-core-1.0.4.jar到hadoop

home的build下不存在的文件夹进行新建DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海Eclipse插件编译7、命令行下切换到hadoop

home\src\contrib\eclipse-plugin下antjarDATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海Eclipse插件编译8、修改D:\soft\hadoop-1.0.4\build\contrib\eclipse-plugin下刚刚编译好的

hadoop-eclipse-plugin-1.0.4.jar文件:用归档管理器打开包,发现只有两个jar包,hadoop

home的lib

下的5个包到这个lib下。DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海Eclipse插件编译9、修改D:\soft\hadoop-1.0.4\build\contrib\eclipse-plugin下刚刚编译好的

hadoop-eclipse-plugin-1.0.4.jar文件中的META-INF下的MANIFEST.MF改成如下图的配置。DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海Eclipse插件编译10、至此插件编译完成,下面把这个插件扔到eclipse的plugins下就可以了。DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海利用eclipse单机断点调试运行wordcount例子添加断点调试查看断点处变量信息断点

的优点DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海利用eclipse单机断点调试Eclipse中运行wordcount例子:在src的example包中找到wordcount源码,并放入eclipse中。DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海利用eclipse单机断点调试修改wordcount代码,因为是单机断点的调试,需要指定本地的input、output及文件系统配置等。DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海利用eclipse单机断点调试在input中拷贝进一个输入文件,点击run

as

java

application进行运行DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海利用eclipse单机断点调试报错了,不要害怕,总比不报错运行的结果不对好,粗略估计是权限问题导致,但是win7下我用的是管理员啊,

已经站在源码上面了,那么就看源码吧.apache.hadoop.fs.FileUtil.checkReturnValue(FileUtil.java:689)权限检查去掉DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海利用eclipse单机断点调试再次运行okDATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海利用eclipse单机断点调试假如

删除了mapred的配置,那么运行报错找到报错的行at

.apache.hadoop.conf.Configuration.getLocalPath(Configuration.java:960)DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海利用eclipse单机断点调试960行加入断点Debug

as

java

application打开debug视图DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海利用eclipse单机断点调试查看变量值这就知道是怎么回事了DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海利用eclipse

调试调试模式下启动hadoop设置断点Eclipse中调试DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海利用eclipse

调试调试模式下启动hadoopJVM本身就支持

调试,只需要在各模块的JVM启动时加载以下参数Xdebug

-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y各参数的含义:-Xdebug

启用调试特性-Xrunjdwp启用JDWP实现,包含若干子选项:transport=dt_socketJPDAfront-end和back-end之间的传输方法。dt_socket表示使用套接字传输。address=8000

JVM在8000端口上

请求,这个设定为一个不

的端口即可。server=y

y表示启动的JVM是被调试者。如果为n,则表示启动的JVM是调试器。suspend=y

y表示启动的JVM会暂停等待,直到调试器连接上才继续执行。

suspend=n,则JVM不会暂停等待。DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海利用eclipse

调试启动hadoopDATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海利用eclipse

调试启动eclipse设置断点DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海利用eclipse

调试Debug

eclipseDATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海利用eclipse

调试DATAGURU专业数据分析社区讲师Hadoop数据分析平台第二版利用eclipse

调试DATAGURU专业数据分析社区讲师Hadoop数据分析平台第二版利用eclipse

调试可能出现的连接问题Failed

to

connect

to

remote

VM.Connection

refused.Connection

refused:connect。!!!已经建立了连接解决方法:关闭 然后

去debug

途中DATAGURU专业数据分析社区Hadoop数据分析平台第二版讲师于双海利用eclipse调试(其他)调试bin/hadoop中没有map

task的启动参数此时需要修改配置mapreducemapred-site.xml<property>

<name>mapred.child.java.opts</name>

<value>-Xmx800m

-Xdebug-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000</value></property>在一个TaskTracker上,只能启动一个Map

Task或一个Reduce

Taskum</name><property><name>mapred.tasktracker.map.tasks.<value>1</value></property><property><name>mapred

温馨提示

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

评论

0/150

提交评论