前言:为什么好久没写博客呢?就是弄hadoop弄到心碎。因此大概每周发布一篇大数据博客。上周我试了Eclipse4.5.1配置hadoop1.2.1失败,配置hadoop2.5.1失败,windows7安装hadoop2.6.0失败。种种原因,心累,但不放弃,终于尝试99次失败后,终于在最后一次成功,不是给你灌鸡汤,而是告诉我们要找到好资料,好老师。网上虽然很多文章,但是按照他们一步一步也有可能失败,因此你要多尝试。
图上就是eclipse运行第一个wordcount程序,而不是hello world。
eclipse配置hadoop2.5.1步骤:
1、配置jdk及hadoop环境
2、windows7安装hadoop
2.1 core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>D:/hadoop/hadoop-2.5.1/workplace/tmp</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>D:/hadoop/hadoop-2.5.1/workplace/name</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
2.2 hadoop-env.cmd
@set JAVA_HOME=%JAVA_HOME%
set JAVA_HOME=”D:\Program Files”\Java\jdk1.8.0_65
2.3 hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/D:/hadoop/hadoop-2.5.1/workplace/data</value>
</property>
</configuration>
2.4 mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>hdfs://localhost:9001</value>
</property>
</configuration>
2.5 yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
3、替换bin目录,由于安装包是linux系统的,但要在windows上运行,又不安装Cygwin,要替换的bin目录文件可加QQ490647751开通艳辉vip可获取全部相关文件资料。
4、运行cmd窗口,执行“hdfs namenode -format”;
运行cmd窗口,切换到hadoop的sbin目录,执行“start-all.cmd”,它将会启动以下进程。
5、下载对应的eclipse,pluginx加上对应的jar文件,可加QQ490647751开通艳辉vip可获取jar文件及安装包。并按以下配置。
6、运行程序
Configuration conf = new Configuration();
System.setProperty("hadoop.home.dir", "D:\\hadoop\\hadoop-2.5.1");
String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();
if (otherArgs.length < 2) {
System.err.println("Usage: wordcount <in> [<in>...] <out>");
System.exit(2);
}
Job job = new Job(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);
for (int i = 0; i < otherArgs.length - 1; ++i) {
FileInputFormat.addInputPath(job, new Path(otherArgs[i]));
}
FileOutputFormat.setOutputPath(job,
new Path(otherArgs[otherArgs.length - 1]));
System.exit(job.waitForCompletion(true) ? 0 : 1);
然后我们要通过hadoop计算矩阵,妈妈再也不担心我大学高数挂科了