hadoop怎么读源码(如何编译 hadoop.dll 方法)

2024-07-21 15:21:19 1

hadoop怎么读源码(如何编译 hadoop.dll 方法)

这篇文章给大家聊聊关于hadoop怎么读源码,以及如何编译 hadoop.dll 方法对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

本文目录

如何编译 hadoop.dll 方法

环境变量(工具软件:3,4,5,6,7)安装过程不再详述,一路Next就行(JavaSE推荐根目录:c:\java)。重点在环境变量的配置部分,增加以下环境变量到“系统变量”中(Java路径不能有空格):JAVA_HOME=C:\Java\jdk1.7.0_45Platform=Win32M2_HOME=C:\apache-maven-3.2.1Path=;C:\cygwin\bin;C:\apache-maven-3.2.1\bin;C:\protoc-2.5.0-win32;配置示例(别忘了设置Path哦):解压源代码将hadoop-2.2.0-src.tar.gz源代码解压到D盘根目录,看上去路径如下:D:\hadoop-2.2.0\***隐藏网址***需要手工修正源代码的几处编译错误:第一处:修改文件:\hadoop-common-project\hadoop-auth\pom.xml修改内容:在大约56行的位置增加一个Xml配置节点。《dependency》  《groupId》org.mortbay.jetty《/groupId》  《artifactId》jetty-util《/artifactId》  《scope》test《/scope》《/dependency》修改示例:第二处:修改文件:hadoop-common-project\hadoop-common\src\main\native\native.sln修改内容:用记事本打开文件。替换内容:GlobalSection(ProjectConfigurationPlatforms) = postSolution{4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Debug|Mixed Platforms.ActiveCfg = Release|x64{4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Debug|Mixed Platforms.Build.0 = Release|x64{4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Debug|Win32.ActiveCfg = Release|x64{4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Debug|Win32.Build.0 = Release|x64{4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Debug|x64.ActiveCfg = Release|x64{4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Debug|x64.Build.0 = Release|x64{4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Release|Mixed Platforms.ActiveCfg = Release|x64{4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Release|Mixed Platforms.Build.0 = Release|x64{4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Release|Win32.ActiveCfg = Release|x64{4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Release|Win32.Build.0 = Release|x64{4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Release|x64.ActiveCfg = Release|x64{4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Release|x64.Build.0 = Release|x64EndGlobalSection新内容:GlobalSection(ProjectConfigurationPlatforms) = postSolution{4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Debug|Win32.ActiveCfg = Release|Win32{4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Debug|Win32.Build.0 = Release|Win32{4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Debug|x64.ActiveCfg = Release|x64{4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Debug|x64.Build.0 = Release|x64{4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Release|Win32.ActiveCfg = Release|Win32{4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Release|Win32.Build.0 = Release|Win32{4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Release|x64.ActiveCfg = Release|x64{4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Release|x64.Build.0 = Release|x64EndGlobalSection修改示例:第三处:修改文件:hadoop-common-project\hadoop-common\src\main\native\native.vcxproj修改内容:查找替换”Release|x64“为”Release|Win32“查找替换”《Platform》x64《/Platform》“为”《Platform》Win32《/Platform》“修改示例:第四处:右键单击”D:\hadoop-2.2.0“文件夹,选择”管理员取得所有权“。否则编译过程中可能会发生”拒绝访问“错误(右键没有显示该菜单的,自行网上查找注册表修改方法)。 编译过程 打开“开始”--“所有程序”--“Microsoft Windows SDK v7.1”--“Windows SDK 7.1 Command Prompt”,进入VC++的命令行工具(一定要从此处进入方可顺利编译Hadoop源代码,记着是以管理员身份运行)。命令如下:切换至源代码根目录,执行编译命令:mvn package -Pdist,native-win -DskipTests -Dtar示例运行结果Setting SDK environment relative to C:\Program Files\Microsoft SDKs\Windows\v7.1\.Targeting Windows 7 x86 DebugC:\Windows\system32》d:D:\》cd D:\hadoop-2.2.0D:\hadoop-2.2.0》mvn package -Pdist,native-win -DskipTests -Dtar................................2.2.1版本编译完成大约需要16分钟左右................................2.4.0版本编译完成大约需要22分钟左右(觉得编译过程慢的话:自己动手配置镜像服务器)配置运行Hadoop编译成功后,程序集输出在: hadoop-common-project\hadoop-common\target\hadoop-common-2.2.0目录下。1.解压缩”hadoop-2.2.0.tar.gz“至D盘如下目录:D:\hadoop-common-2.2.02.合并替换发行版本的64动态链接库:主要是是以下几个文件(bin\hadoop.dll、bin\hadoop.exp、bin\hadoop.lib、bin\hadoop.pdb、bin\libwinutils.lib、bin\winutils.exe、bin\winutils.pdb),从编译成功后的输出目录Copy到Apache发行版形同目录下替换即可。3.修改配置文件core-site.xml《?xml version="1.0" encoding="UTF-8"?》《?xml-stylesheet type="text/xsl" href="configuration.xsl"?》《configuration》《property》《name》fs.defaultFS《/name》《value》hdfs://localhost:9000《/value》《/property》《/configuration》hdfs-site.xml《?xml version="1.0" encoding="UTF-8"?》《?xml-stylesheet type="text/xsl" href="configuration.xsl"?》《configuration》《property》 《name》dfs.replication《/name》 《value》1《/value》 《/property》 《property》 《name》dfs.namenode.name.dir《/name》 《value》file:/hadoop-bin/data/namenode《/value》 《/property》 《property》 《name》dfs.datanode.data.dir《/name》 《value》file:/hadoop-bin/data/datanode《/value》 《/property》《property》 《name》dfs.webhdfs.enabled《/name》 《value》true《/value》 《/property》《property》 《name》dfs.permissions《/name》 《value》false《/value》 《/property》《/configuration》其他配置文件保持默认即可。4.配置Hadoop Hdfs运行环境变量(重要)HADOOP_HOME=D:\hadoop-common-2.2.0Path=D:\hadoop-common-2.2.0\bin5.格式化hdfs文件系统以管理员身份打开命令行,并切换到:D:\hadoop-common-2.2.0\bin目录下,执行命令:hadoop namenode -format如果不出意外,hdfs文件系统将格式化成功,你会在D:\hadoop-bin\data看到已经生成了namenode文件夹。6.启动Hadoop HDFS服务器同样管理员身份命令行,切换到:D:\hadoop-common-2.2.0\sbin目录下,执行命令:start-all.cmd***隐藏网址***7.上传文件到HDFS如果你对命令行熟悉的话,可以采用命令行的方式推送的HDFS。如果你的hdfs-site.xml配置文件时Copy我以上的示例的话,那么WEBHDFS默认是开启的,什么意思?就是通过Http RestFull风格API管理文件哦!另外还要记得把dfs.permissions设置为false,要不你没有权限上传文件的哦!推荐个HDFS文件管理工具:Red Gate Software Ltd(大名鼎鼎的Red Gate)上传文件到HDFS8.停止Hadoop HDFS服务器同样管理员身份命令行,切换到:D:\hadoop-common-2.2.0\sbin目录下,执行命令:stop-all.cmd编后语Windows 64 Bit是有它自己的道理的,虽然通过一些努力编译出了32Bit环境下的程序。。。

hadoop源码修改了,编译成功后,将编译后的hadoop文件直接拿来搭建么,还是需要经过什么处理呢

把你编译后的hadoop源码丢到原来的hadoop集群环境中去 即覆盖hadoop安装目录下的原hadoop-core-xxx.jar 同样的所有节点都需要更新 然后重启集群

求助 用hadoop-mapreduce-examples-2.7.3.jar怎么查询特定的词

前2篇blog中测试hadoop代码的时候都用到了这个jar,那么很有必要去分析一下源码。

分析源码之前很有必要先写一个wordcount,代码如下

 view plain copy

  • package mytest;  

  • import java.io.IOException;  

  • import java.util.StringTokenizer;  

  • import org.apache.hadoop.conf.Configuration;  

  • import org.apache.hadoop.fs.Path;  

  • import org.apache.hadoop.io.IntWritable;  

  • import org.apache.hadoop.io.Text;  

  • import org.apache.hadoop.mapreduce.Job;  

  • import org.apache.hadoop.mapreduce.Mapper;  

  • import org.apache.hadoop.mapreduce.Reducer;  

  • import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;  

  • import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;  

  • public class WordCount {  

  • public static class TokenizerMapper  

  • extends Mapper《Object, Text, Text, IntWritable》{  

  • private final static IntWritable one = new IntWritable(1);  

  • private Text word = new Text();  

  • public void map(Object key, Text value, Context context  

  • ) throws IOException, InterruptedException {  

  • StringTokenizer itr = new StringTokenizer(value.toString());  

  • while (itr.hasMoreTokens()) {  

  • word.set(itr.nextToken());  

  • context.write(word, one);  

  • }  

  • }  

  • }  

  • public static class IntSumReducer  

  • extends Reducer《Text,IntWritable,Text,IntWritable》 {  

  • private IntWritable result = new IntWritable();  

  • public void reduce(Text key, Iterable《IntWritable》 values,  

  • Context context  

  • ) throws IOException, InterruptedException {  

  • int sum = 0;  

  • for (IntWritable val : values) {  

  • sum += val.get();  

  • }  

  • result.set(sum);  

  • context.write(key, result);  

  • }  

  • }  

  • public static void main(String args) throws Exception {  

  • Configuration conf = new Configuration();  

  • Job job = Job.getInstance(conf, "word count");  

  • job.setJarByClass(WordCount.class);  

  • job.setMapperClass(TokenizerMapper.class);  

  • job.setCombinerClass(IntSumReducer.class);  

  • job.setReducerClass(IntSumReducer.class);  

  • job.setOutputKeyClass(Text.class);  

  • job.setOutputValueClass(IntWritable.class);  

  • FileInputFormat.addInputPath(job, new Path(args));  

  • FileOutputFormat.setOutputPath(job, new Path(args));  

  • System.exit(job.waitForCompletion(true) ? 0 : 1);  

  • }  

  • }  

  • 检索相关源码,发现需要2个jar,分别为hadoop-common-2.7.0.jar和hadoop-mapreduce-client-core-2.7.0.jar

    使用myeclipse导出为Runnable Jar后,执行

     view plain copy

  • ~/hadoop-2.7.0/bin/hadoop jar my.jar mytest.WordCount /user/hadoop/input /user/hadoop/output3  

  • 测试成功

    因为有个“package mytest”所以执行的时候需要使用mytest.WorCount!

    仔细回忆之前执行命令的时候并没有加上类似mytest.这类的东西就能执行成功。我们去检索源码看看。执行。

     view plain copy

  • find ~/  -name   *hadoop-mapreduce-examples*  

  • 输出内容为

     view plain copy

  • /home/hadoop/hadoop-2.7.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar  

  • /home/hadoop/hadoop-2.7.0/share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.7.0-sources.jar  

  • /home/hadoop/hadoop-2.7.0/share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.7.0-test-sources.jar  

  • /home/hadoop/hadoop-2.7.0/share/doc/hadoop/hadoop-mapreduce-examples  

  • 解压缩hadoop-mapreduce-examples-2.7.0-sources.jar后导入myeclipse查看源码。

    检索“grep”字段,发现出现在ExampleDriver.java中,看样这个文件是这个jar的入口。

    那么Runnable Jar怎么确定这个文件的入口呢。解压缩Runnable Jar后发现META-INF 中有如下的描述

     view plain copy

  • Main-Class: org.apache.hadoop.examples.ExampleDriver  

  • 原来Runnable Jar是可以配置默认入口的。可以通过myeclipse导出Jar的时候设置默认入口。

    将ExampleDriver.java导入自己的工程,修修改改后,测试。执行

     view plain copy

  • ~/hadoop-2.7.0/bin/hadoop jar my.jar wordcount /user/hadoop/input /user/hadoop/output4  

  • 很多东西具体看源码比较详细,以后有特殊的地方可以细细分析。tip:分析log日志可以发现。

    map和reduce中的syso输出到log日志上。

    Main中的syso输出到屏幕上。

关于hadoop怎么读源码,如何编译 hadoop.dll 方法的介绍到此结束,希望对大家有所帮助。

hadoop怎么读源码(如何编译 hadoop.dll 方法)

本文编辑:admin

更多文章:


产品性能用英语怎么说?“性能参数“这个词怎么译成英文

产品性能用英语怎么说?“性能参数“这个词怎么译成英文

各位老铁们,大家好,今天由我来为大家分享性能 英文,以及产品性能用英语怎么说的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录产品性能用英语怎么说“性

2024年7月8日 08:56

搜索句柄是什么(易语言 我把游戏关了重开 句柄又不一样了 然后功能又无效了,怎样才能自动搜索正确句柄)

搜索句柄是什么(易语言 我把游戏关了重开 句柄又不一样了 然后功能又无效了,怎样才能自动搜索正确句柄)

本文目录易语言 我把游戏关了重开 句柄又不一样了 然后功能又无效了,怎样才能自动搜索正确句柄你好,我是易语言菜鸟,能帮我解释下“句柄”的具体含义吗网上搜索很多,讲得都很抽象!比如说:全局_句按键精灵中的“需要查找的窗口句柄”怎么填Vb 查找

2024年7月4日 03:42

《小舍得》米桃结局和原著大不同,钟益把悲惨变圆满,你怎么看?《小舍得》原著米桃结局悲惨,原生家庭给她带来了怎么样的影响

《小舍得》米桃结局和原著大不同,钟益把悲惨变圆满,你怎么看?《小舍得》原著米桃结局悲惨,原生家庭给她带来了怎么样的影响

本文目录《小舍得》米桃结局和原著大不同,钟益把悲惨变圆满,你怎么看《小舍得》原著米桃结局悲惨,原生家庭给她带来了怎么样的影响怎么评价小舍得里的米桃米桃扮演者《小舍得》米桃的情绪爆发成“拐点”:心不穷的孩子,未来方可期《小舍得》米桃的结局,是

2024年6月3日 16:02

c语言函数返回数组指针(用C语言如何使函数返回值为指向一维数组的指针)

c语言函数返回数组指针(用C语言如何使函数返回值为指向一维数组的指针)

大家好,c语言函数返回数组指针相信很多的网友都不是很明白,包括用C语言如何使函数返回值为指向一维数组的指针也是一样,不过没有关系,接下来就来为大家分享关于c语言函数返回数组指针和用C语言如何使函数返回值为指向一维数组的指针的一些知识点,大家

2024年7月14日 03:06

字符串截取拼接不固定(excel中,字符串提取指定字符向左或右的全部不固定数字,比如:“10#126“而10和126是不固定位数的数字.)

字符串截取拼接不固定(excel中,字符串提取指定字符向左或右的全部不固定数字,比如:“10#126“而10和126是不固定位数的数字.)

本文目录excel中,字符串提取指定字符向左或右的全部不固定数字,比如:“10#126“而10和126是不固定位数的数字.sql 截取字段中不固定字符串 例如:呜呜呜呜呜呜呜呜呜啊啊啊灌灌灌灌灌灌灌灌灌Excel表格里面一个不固定数量的字符

2024年7月1日 16:36

递归算法c语言实例(C语言递归算法)

递归算法c语言实例(C语言递归算法)

本文目录C语言递归算法c语言 设计一个递归算法C语言 用递归方法求X的n次方c语言算n的阶乘的递归算法C语言迭代与递归比较(举例)c语言,求递归算法的技巧最好有经典例子!C语言递归算法本人学c++,c的语法已经淡忘了,但是递归不管什么语言都

2024年7月3日 06:26

滚动导轨分为哪几类(导轨有几种 导轨有哪些种类)

滚动导轨分为哪几类(导轨有几种 导轨有哪些种类)

各位老铁们好,相信很多人对滚动导轨分为哪几类都不是特别的了解,因此呢,今天就来为大家分享下关于滚动导轨分为哪几类以及导轨有几种 导轨有哪些种类的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录导轨有几种 导轨有哪些

2024年7月13日 15:55

scanf语句(c语言scanf语句)

scanf语句(c语言scanf语句)

本文目录c语言scanf语句(1)执行语句”scanf(“%d%d,“&a,&b)与scanf“%d,%d“&a,&b“)分别表达的意思是什么c语言中什么时候要用scanfC语言中的scanf是什么意思C语言中用scanf语句的作用是什么c

2024年6月23日 03:07

草莓strawberry(草莓英语单词怎么读)

草莓strawberry(草莓英语单词怎么读)

本文目录草莓英语单词怎么读strawberry是什么意思strawberry怎么读草莓英语怎么读草莓用英语怎么说草莓的英语怎么说草莓英语单词怎么读strawberry的读音:英 [ˈstrɔːbəri]、美 [ˈstrɔːberi]。str

2024年6月11日 15:20

深圳疫情最新通告(2022深圳去澳门最新疫情防控政策深圳去澳门疫情)

深圳疫情最新通告(2022深圳去澳门最新疫情防控政策深圳去澳门疫情)

本文目录2022深圳去澳门最新疫情防控政策深圳去澳门疫情进出深圳市的最新疫情规定2022年6月2022深圳受疫情影响部分景区暂停开放深圳市公共场所防疫最新规定48还是24小时深圳最新核酸要求汇总!附核酸检测点查询指南深圳机场疫情防控最新规定

2024年7月23日 00:21

enterprise的名词(一组英语单词的区别)

enterprise的名词(一组英语单词的区别)

“enterprise的名词”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看enterprise的名词(一组英语单词的区别)!本文目录一组英语单词的区别企业的名词解释什么是Enterpriseconcern和enterpri

2024年6月28日 19:13

practise怎么念(practise怎么读 正确发音和用法)

practise怎么念(practise怎么读 正确发音和用法)

本文目录practise怎么读 正确发音和用法act/choose/do/make/practise怎么读practise 怎么读practise怎么读 正确发音和用法正确的发音是/præk.tɪs/,读音中的“a”是短音,重音在第一个音节

2024年6月29日 06:35

java字符数组初始化(java 字符串数组作为参数传递结果未初始化)

java字符数组初始化(java 字符串数组作为参数传递结果未初始化)

本篇文章给大家谈谈java字符数组初始化,以及java 字符串数组作为参数传递结果未初始化对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录j

2024年8月4日 04:25

linux正常版本下载(想用LINUX操作系统,不过不无所知,想请教用哪个版本,下载地址能给出吗)

linux正常版本下载(想用LINUX操作系统,不过不无所知,想请教用哪个版本,下载地址能给出吗)

本文目录想用LINUX操作系统,不过不无所知,想请教用哪个版本,下载地址能给出吗Linux系统哪个版本好在哪里下载请大神帮助~~~~~compaq510预装的Linux哪一个版本的系统 下载地址求linux最新版本下载LINUX最好的版本是

2024年6月22日 04:21

keras官网(python3.6安装keras模块成功,但是运行不了,请问什么情况)

keras官网(python3.6安装keras模块成功,但是运行不了,请问什么情况)

本文目录python3.6安装keras模块成功,但是运行不了,请问什么情况如何比较Keras,TensorLayer,TFLearn如何高效的学习TensorFlow代码python3.6安装keras模块成功,但是运行不了,请问什么情况

2024年7月2日 06:52

arcgis字符串转数字(excel导入arcgis的属性表后,字段类型为“字符串”,不是“数字”,不能生成图像,怎么处理)

arcgis字符串转数字(excel导入arcgis的属性表后,字段类型为“字符串”,不是“数字”,不能生成图像,怎么处理)

本文目录excel导入arcgis的属性表后,字段类型为“字符串”,不是“数字”,不能生成图像,怎么处理arcgis怎么将阿拉伯数字转成大写数字arcgis 字段计算器 怎么把字改成数字arcgis怎么将37度带转为十进制度gis中字段怎么

2024年6月23日 00:54

编程猫下载最新版本(点猫校园编程平台怎么弄才能下雨)

编程猫下载最新版本(点猫校园编程平台怎么弄才能下雨)

本文目录点猫校园编程平台怎么弄才能下雨湛江哪里有学编程的天津编程培训机构排名点猫校园编程平台怎么弄才能下雨可以通过编程猫的官网进去下载。进入编程猫官网、点击下载中心、选择合适的创作工具进行下载、按照提示安装软件就可以了。点猫系列软件是由点猫

2024年7月6日 21:21

转速rpm是什么意思?每个linux系统都有 rpm命令吗

转速rpm是什么意思?每个linux系统都有 rpm命令吗

本文目录转速rpm是什么意思每个linux系统都有 rpm命令吗rpm代表什么意思它是什么单位RPM是什么单位linux中不小心将rpm命令卸载了,怎么恢复rpm是什么单位我的linux系统里没有安装rpm,rpm包哪里下载,怎么安装rpm

2024年7月20日 19:51

firmware(请问一般所说的升级firmware,其中firmware是什么意思)

firmware(请问一般所说的升级firmware,其中firmware是什么意思)

本文目录请问一般所说的升级firmware,其中firmware是什么意思firmware有复数形式吗firmware和programme的区别firmware是什么意思|什么是Firmware升级华为firmware是什么Firmware

2024年7月20日 05:53

想给汽车安装一个HUD抬头显示器,该如何选择?彩虹六号里Ash怎么玩

想给汽车安装一个HUD抬头显示器,该如何选择?彩虹六号里Ash怎么玩

本文目录想给汽车安装一个HUD抬头显示器,该如何选择彩虹六号里Ash怎么玩想给汽车安装一个HUD抬头显示器,该如何选择HUD抬头显示器改装没有什么难度,至于品牌也不用纠结,这个配置原车型没有的话也不存在原厂件这一说,其他品牌在网站上找一个专

2024年7月9日 17:31

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1730
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1155
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1152
标签列表

热门搜索