您的位置:首页 > PPT课件 > 其他PPT > ppt源代码

ppt源代码下载

素材编号:
315531
素材授权:
免费下载
素材格式:
.ppt
素材上传:
yangyiner
上传时间:
2018-10-12
素材大小:
10.6 MB
素材类别:
其他PPT
网友评分:

澳门线上赌博网站大全 www.jspsjx.com 素材预览

ppt源代码

ppt源代码免费下载是由PPT宝藏(澳门线上赌博网站大全 www.jspsjx.com)会员yangyiner上传推荐的其他PPT, 更新时间为2018-10-12,素材编号315531。

这是ppt源代码,包括了开源介绍,生成类图,编译插件,代码调式,开源许可协议核心内容,环境准备,为什么要研究Hadoop源代码,导入源码到Eclipse中,通过源码生成类图等内容,欢迎点击下载。


主要内容:
开源介绍
    生成类图
编译插件
代码调式
著名的开源组织:GNU
GNU计划,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。Richard Stallman最早是在net.unix-wizards新闻组上公布该消息,并附带一份《GNU宣言》等解释为何发起该计划的文章,其中一个理由就是要“重现当年软件界合作互助的团结精神”。为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件都在一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU通用公共许可证(GNU General Public License,GPL)。即“反版权”(或称Copyleft)概念。
Apache软件基金会(ASF)
开源许可协议核心内容
MySQL自由公共许可证FPL
MySQL可以允许在各种实体(包括商业实体)内部自由使用,但没有技术支持。然而,商业目的分发,或任何部分或全部包含或从派生的东西,都需要从TcX AB申请一个书面的商业许可证,它是唯一的授权发证实体。用户不能“免费”地在一个含有任何收费内容的软件包中包含Mysql。只有以下情形除外:许可证的第二款允许运营FTP服务器或BBS的商业组织免费分发Mysql,如果:该组织遵守FPL的其他条款,其中包括要求分发Mysql和任何派生产品的全部源代码,并且与Mysql一起分发FPL本身;并且服务器或BBS可由一般公众访问,且任何人可以获得信息的存取(可能收费但该费用不依赖于或相关于购买其他东西)。
BSD开源协议
BSD开源协议是一个给予使用者很大自由的协议。基本上使用者可以“为所欲为”可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。但“为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:
1. 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
2. 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
3. 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。
Apache Licence 2.0
Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和BSD类似:
1. 需要给代码的用户一份Apache Licence
2. 如果你修改了代码,需要再被修改的文件中说明。
3. 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
4. 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。
GPL vesion 2.0 1991
   病毒式传播条款:您有权采用收费或免费的方式发布该软件,但您也必须告知您的收受者,他们同样拥有此权利,即用收费或免费的方式再次发送,您不得要求收受者放弃此权利。
   不允许闭源条款:您可以取得源代码并作您喜欢的修改,也可将之出售图利,但您的收受人若要求您提供源代码,您不能拒绝,或至少应该告知其在何处可以找到源代码。您的收受人也可将该源代码进行修改或出售,您不得要求收受人放弃此权利。
对比
开源软件普遍存在的问题
缺乏整套的解决方案
缺乏完善的企业级别服务支持,很多时候出了问题只能靠自己去解决
在稳定性,安全性,数据可用性,平滑升级等方面存在普遍的不足,而解决这些问题通常要修改源代码。需要使用者对C++、Java,相应软件平台的内部运行机制等有深刻了解。因此使用开源软件的企业一般需要聘请技术能力较为高强的员工,在许可证上省去的费用可能人员开支上付回
Hadoop,NoSQL,Openstack这类开源软件大多涉及复杂的分布式系统,大部分企业的运维团队,对于维护此类大型系统都缺乏经验能力,如果没有强力的支持,分布式系统遇到的各种麻烦困难可能也会让使用者在开源的道路上无法走远
国内确实有不少企业拥抱开源软件,但也可以看到最终成功的,都是本身拥有强大技术团队的大型企业,特别是一些互联网巨头。但对于技术力量稍逊的传统企业,大部分在稍作尝试后就不得不放弃
为什么要研究Hadoop源代码
修补Bug
增加或完善功能
优化
再发布
通过研究源代码深度熟悉系统,实现“人码合一”
环境准备
Java开发环境搭建(基础开发环境)
Eclipse(IDE)
Hadoop源码包(被研究对象)
Ant(依赖工具)
EA(UML工具)
EA连接Eclipse插件
环境准备
导入源码到Eclipse中
导入hadoop源码中的类文件到IDE中
解决导入后出现的错误
导入源码到Eclipse中
打开Eclipse
导入源码到Eclipse中
新建java工程 File->new others ->Java Project -> Next
导入源码到Eclipse中
 输入工程名字和工程地址 点击完成,其它的设置后续进行 弹出试图选择对话框 Y or N都可以
导入hadoop源码中的类文件到Eclipse中:右击工程中的src目录,然后选择import
导入hadoop源码中的类文件到Eclipse中:导入tools包
导入hadoop源码中的类文件到Eclipse中:同样的方法导入hdfs包、mapred包、core包
解决导入后的错误:右击工程 选择 属性
解决导入后的错误:全选lib文件夹下的 jar包 点击ok
导入源码到Eclipse中
JspHelper类的错误解决:同样的方式增加 两个jar包
导入源码到Eclipse中
解决导入后的错误:security包的错误我们可以不关心,因为是jdk的访问限制并不是不能访问,不会影响编译。
通过源码生成类图
安装EA
通过EA连接Eclipse的插件使得eclipse中的源码在EA中以多种图的形式展现
去掉多余的类
找出源码的核心类及它们之间的关系
初步掌握源码阅读的技巧(查看一个基类或接口的派生类或实现类、查看函数的调用关系、快速查找类对象)
通过源码生成类图
安装EA和MDG
通过源码生成类图
打开ea,创建工程hadoopLearning
通过源码生成类图
打开ea,创建工程hadoopLearning,选择uml2.0的基本图中的类图
通过源码生成类图
生成类图:右击Class Model,在弹出的扩展选项中选择连接外部工程->eclipse
通过源码生成类图
发现它会自动发现系统已经创建的eclipse工程,这里我们只有一个工程,如果有多个选择要关联的工程即可,然后点击 connect
通过源码生成类图
生成类图:右击Class Model,在弹出的扩展选项中选择merge with eclipse 表示要进行eclispe与ea的合并
通过源码生成类图
经过1s左右的分析处理,这主要取决工程的大小,会出现同步对话框,这里的同步选项需要注意下:
None:只生成UML类图
Forward:正向生成代码 uml->java代码
Reverse:反向生成代码 java代码->uml
Both:同时正向+反向
通过源码生成类图
等待操作完成后可以看见class model中增加了org这个包,这就是从eclipse中导入的类,重命名Class Model类图为conf,并双击此视图,并删除左侧出现的提示信息框。
通过源码生成类图
拖拽Configurable接口到左边的视图中,弹出的对话框中选择只作为简单的链接即可
通过源码生成类图
同样的方法拖拽剩下的两个类到左边的视图中,会发现ea自动创建了他们之间的关系,并显示出类中的属性、方式等标示信息,至此一个简单的类图生成结束
通过源码生成类图
如果关联的类非常多,非常复杂的情况下,通常先关联一部分或是直接删除非核心类中的关联即可。(一个类被越多的连接线连接证明这个类的使用越频繁,位置也越重要)
源码组织结构
Src(源码目录):hadoop源码
C++:linux下amd64-64位系统以及i386-32位系统提供的库文件集合
Contrib:此目录下针对hadoop运行过程中需要特殊强化的模块进行了模块化封装,此为其发布包以及相应的配置文件
Conf(配置文件):此目录下为运行与配置hadoop环境需要的配置文件以及示例文件集合,实际运行时可以对照此目录下的文件结构进行相应的配置
Lib(依赖库):此目录下包含编译以及运行hadoop环境必须的其他模块jar包集合
Bin(脚本): hadoop配置、运行以及管理的shell命令集合
docs:此目录下包含对于hadoop运行配置的基本文档,包括html和pdf两种格式
Eclipse插件编译
解压并配置ant环境变量
修改eclipse-plugin相关的build配置文件并准备jar包
执行ant命令
对插件做最后的修改,修改配置文件及jar包
Eclipse插件编译
1、解压ant包到d盘soft下,并配置环境变量
Eclipse插件编译
Eclipse插件编译
2、解压hadoop源码包到D:\soft
3、修改hadoop包中src\contrib目录下的build-contrib.xml文件,补充hadoop版本和eclipse路径
Eclipse插件编译
4、修改eclipse-plugin/build.xml文件,增加红框内的三行内容并删除deprecation=“${javac.deprecation}”
Eclipse插件编译
5、复制hadoop home下lib目录中的commons-cli-1.2.jar到hadoop home\build\ivy\lib\Hadoop\common下
6、复制hadoop home下的hadoop-core-1.0.4.jar到hadoop home的build下
不存在的文件夹进行新建
Eclipse插件编译
7、命令行下切换到hadoop home\src\contrib\eclipse-plugin目录下 ant jar
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下。
Eclipse插件编译
9、修改D:\soft\hadoop-1.0.4\build\contrib\eclipse-plugin下刚刚编译好的hadoop-eclipse-plugin-1.0.4.jar文件中的META-INF下的MANIFEST.MF改成如下图的配置。
Eclipse插件编译
10、至此插件编译完成,下面把这个插件扔到eclipse的plugins下就可以了。
利用eclipse单机断点调试
运行wordcount例子
添加断点调试
查看断点处变量信息
断点跟踪的优点
利用eclipse单机断点调试
Eclipse中运行wordcount例子:在src的example包中找到wordcount源码,并放入eclipse中。
利用eclipse单机断点调试
修改wordcount代码,因为是单机断点的调试,需要指定本地的input、output目录及文件系统配置等。
利用eclipse单机断点调试
在input目录中拷贝进一个输入文件,点击run as java application 进行运行
利用eclipse单机断点调试
报错了,总比不报错运行的结果不对好,粗略估计是权限问题导致,但是win7下我用的是管理员啊,我们已经站在源码上面了,那么就看源码吧
org.apache.hadoop.fs.FileUtil.checkReturnValue(FileUtil.java:689)
权限检查去掉
利用eclipse单机断点调试
再次运行 ok
利用eclipse单机断点调试
假如我们删除了mapred的配置,那么运行报错
找到报错的行
at org.apache.hadoop.conf.Configuration.getLocalPath(Configuration.java:960)
利用eclipse单机断点调试
960行加入断点
Debug as java application
打开debug视图
利用eclipse单机断点调试
查看变量值 这就知道是怎么回事了
利用eclipse远程调试
调试模式下启动hadoop
设置断点
Eclipse中调试
利用eclipse远程调试
调试模式下启动hadoop
JVM本身就支持远程调试,只需要在各模块的JVM启动时加载以下参数
Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y
 各参数的含义:
-Xdebug 启用调试特性
-Xrunjdwp 启用JDWP实现,包含若干子选项:
transport=dt_socket JPDA front-end和back-end之间的传输方法。dt_socket表示使用套接字传输。
address=8000 JVM在8000端口上监听请求,这个设定为一个不冲突的端口即可。
server=y y表示启动的JVM是被调试者。如果为n,则表示启动的JVM是调试器。
suspend=y y表示启动的JVM会暂停等待,直到调试器连接上才继续执行。suspend=n,则JVM不会暂停等待。
利用eclipse远程调试
启动hadoop
利用eclipse远程调试
启动eclipse
设置断点
利用eclipse远程调试
Debug eclipse
利用eclipse远程调试
利用eclipse远程调试
利用eclipse远程调试
可能出现的连接问题
Failed to connect to remote VM. Connection refused.
Connection refused: connect。
防火墙!!!
已经建立了连接
解决方法:关闭防火墙 然后 去debug透视途中
利用eclipse远程调试(其他)
配置mapreduce远程调试 bin/hadoop中没有map task的启动参数 此时需要修改mapred-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 Task
<property><name>mapred.tasktracker.map.tasks.maximum</name>
<value>1</value>
</property>
<property><name>mapred.tasktracker.reduce.tasks.maximum</name>
<value>0</value>
</property>
源码修改例子
修改源代码,增加打印日志
重新编译hadoop源码
部署执行查看结果
源码修改例子
修改源代码,增加打印日志 并找到编译目录
利用eclipse远程调试
找到编译类的输出class文件
源码修改例子
替换源文件
源码修改例子
当然也可以全部重新编译hadoop源码
到$HADOOP_HOME/src目录中,修改saveVersion.sh文件
user=`whoami`#修改为hadoop用户
cmd进入到$HADOOP_HOME目录中运行ant命令,就可以编译成功了,他会在$HADOOP_HOME目录下生成一个build目录
cmd进入$HADOOP_HOME/build/class目录,输入命令
jar cvf hadoop-0.20.2-core.jar *
生成core的jar包
最后一步 替换同名包即可!!
 

上一页:观察作文ppt 下一页:返回列表

源代码ppt模板:这是一个关于源代码ppt模板,主要介绍了男女主角简介、影片内容简介、经典台词、主题意蕴、导演评价、演员技巧、、电影技巧、影片音乐运用、细节描写等内容。欢迎点击下载源代码ppt模板哦。讲述了一位在阿富汗执行任务的美国空军飞行员科特史蒂文斯上尉所经历的一系列惊心动魄的事件。

电影《源代码》ppt:这是一个关于电影《源代码》ppt,主要介绍了主题设置、演员人物介绍、本片特点、精彩影评、小结等内容。欢迎点击下载电影《源代码》ppt哦。讲述了一位在阿富汗执行任务的美国空军飞行员科特史蒂文斯上尉所经历的一系列惊心动魄的事件。

ppt源代码

下载地址

ppt源代码

优秀PPT

PPT分类Classification

Copyright:2009-2015 www.jspsjx.com Corporation,All Rights Reserved PPT宝藏 版权所有

PPT模板下载 粤ICP备13028522号