在windows 使用eclipse 跨平台运行mapreduce 提示连接不上

错误提示:call from 10.32.6.150:8020 failed on connection

如果你遇到这个问题了,在网络正常的情况下,更改你的代码,如下:

 1 System.setProperty("HADOOP_USER_NAME", "root");
 2         Configuration conf = new Configuration();
 3         conf.set("fs.defaultFS", "hdfs://10.32.6.150:9000");
 4         conf.set("mapreduce.jobtracker.address", "hdfs://10.32.6.150:9001");
 5         conf.set("mapreduce.framework.name", "yarn");
 6         conf.set("mapreduce.app-submission.cross-platform", "true");//为了解决跨平台的问题
 7         conf.set("fs.defaultFS", "hdfs://10.32.6.150:9000");
 8         conf.set("mapreduce.jobtracker.address", "hdfs://10.32.6.150:9001");
 9         conf.set("mapreduce.framework.name", "yarn");
10         conf.set("mapreduce.app-submission.cross-platform","true");
11         Job wordCountJob = Job.getInstance(conf,"mr");
12         //重要:指定本job所在的jar包
13         wordCountJob.setJar("E:\\Desktop\\WordCount1.jar");
14         wordCountJob.setJarByClass(WordCount.class);
15
16         //设置wordCountJob所用的mapper逻辑类为哪个类
17         wordCountJob.setMapperClass(WordCountMapper.class);
18         //设置wordCountJob所用的reducer逻辑类为哪个类
19         wordCountJob.setReducerClass(WordCountReducer.class);
20
21         //设置map阶段输出的kv数据类型
22         wordCountJob.setMapOutputKeyClass(Text.class);
23         wordCountJob.setMapOutputValueClass(IntWritable.class);
24
25         //设置最终输出的kv数据类型
26         wordCountJob.setOutputKeyClass(Text.class);
27         wordCountJob.setOutputValueClass(IntWritable.class);
28
29         //设置要处理的文本数据所存放的路径
30         FileInputFormat.setInputPaths(wordCountJob, "hdfs://10.32.6.150:9000/1.txt");
31         FileOutputFormat.setOutputPath(wordCountJob, new Path("hdfs://10.32.6.150/outputsq111/"));
32
33         //提交job给hadoop集群
34         wordCountJob.waitForCompletion(true);  
 1 System.setProperty("HADOOP_USER_NAME", "root");
 2         Configuration conf = new Configuration();
 3         conf.set("fs.defaultFS", "hdfs://10.32.6.150:9000");
 4         conf.set("mapreduce.jobtracker.address", "hdfs://10.32.6.150:9001");
 5         conf.set("mapreduce.framework.name", "yarn");
 6         conf.set("mapreduce.app-submission.cross-platform","true");
 7         //创建工作对象
 8         Job job = Job.getInstance(conf, "wc");
 9         //添加架包路径
10         job.setJar("E:\\Desktop\\WordCount.jar");
11         job.setJarByClass(WordCountOther.class);
12
13         //指定map类和reduce类
14         job.setMapperClass(WordCountMapper.class);
15         job.setReducerClass(WordCountReducer.class);
16
17         //指定map的输出类型
18         job.setMapOutputKeyClass(Text.class);
19         job.setMapOutputValueClass(IntWritable.class);
20
21         //指定最终的输出类型
22         job.setOutputKeyClass(Text.class);
23         job.setOutputValueClass(IntWritable.class);
24
25         //指定job的输入输出目录
26         FileInputFormat.setInputPaths(job, new Path("hdfs://10.32.6.150:9000/1.txt"));
27         FileOutputFormat.setOutputPath(job, new Path("hdfs://10.32.6.150:9000/output321/"));
28
29         boolean result = job.waitForCompletion(true);
30         System.exit(result?0:1);

上边的是报错的代码,下边是可以运行的代码,两者看不出有什么区别,我反复以为网络的问题(因为是内网,觉得会有防火墙之类的),后来执行下同学写的,运行成功

解决方案:这个问题找不到原因,不是网络问题,应该也不是eclipse的问题,遇到了就重新写份job代码:)

原文地址:https://www.cnblogs.com/geek-sq/p/8553531.html

时间: 2024-10-31 08:06:01

在windows 使用eclipse 跨平台运行mapreduce 提示连接不上的相关文章

Windows 使用Eclipse编译运行MapReduce --WordCount 本地调式

一 . 准备工作 操作系统:windows 10 开发工具:eclipse 4.5 java虚拟机 :jdk 1.8  (jdk-8u91-windows-x64.exe) 官网下载地址http://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-windows-x64.exe hadoop版本:hadoop2.6 (hadoop-2.6.4.tar.gz) 官网下载地址http://apache.fayea.com/hadoop/c

使用Eclipse编译运行MapReduce程序 Hadoop2.6.0_Ubuntu/CentOS

文章来源:http://www.powerxing.com/hadoop-build-project-using-eclipse/ 使用Eclipse编译运行MapReduce程序 Hadoop2.6.0_Ubuntu/CentOS 本教程介绍的是如何在 Ubuntu/CentOS 中使用 Eclipse 来开发 MapReduce 程序,在 Hadoop 2.6.0 下验证通过.虽然我们可以使用命令行编译打包运行自己的MapReduce程序,但毕竟编写代码不方便.使用 Eclipse,我们可以

ssh连接ubuntu提示连接不上的问题

今天在自己的电脑上安装了最新版本的 ubuntu (我都在root用户下运行,非root用户请添加sudo命令) uname -rvo 运行结果为 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 GNU/Linux 在自己的windows系统上安装了ssh client,发现安装了后连接不上自己的ubuntu. 经过搜索,发现了自己的解决方法,现总结如下: 首先在 ubuntu上安装 ssh服务,运行如下命令 apt-g

windows下使用Eclipse编译运行MapReduce程序 Hadoop2.6.0/Ubuntu

一.环境介绍 宿主机:windows8 虚拟机:Ubuntu14.04 hadoop2.6伪分布:搭建教程http://blog.csdn.net/gamer_gyt/article/details/46793731 Eclipse:eclipse-jee-luna-SR2-win32-x86_64 二.准备阶段 网上下载hadoop-eclipse-plugin-2.6.0.jar (点击下载) 也可以自行编译(网上教程挺多的,可以自己百度 or Google) 三.begin 复制编译好的j

windows下使用Eclipse编译运行MapReduce程序 Hadoop2.6.0/Ubuntu(二)

在上篇文章中eclipse已经能访问HDFS目录,但并不能进行Mapreduce编程,在这里小编将常见错误和处理办法进行总结,希望对大家有所帮助 错误1:ERROR [main] util.Shell (Shell.java:getWinUtilsPath(303)) - Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable n

eclipse本地运行mapreduce控制台打印mapreduce执行进度

在本地进行mapreduce开发的过程中,发现eclipse控制台不能打印我想看的mapreduce作业的进度和一些参数,后才猜想可能是log4j的问题,而且当时确实也报了log4j的警告,后来试了一下,真的是log4j的问题 主要因为我没有配置log4j.properties,先在src目录下新建这个文件,然后加入如下代码: log4j.rootLogger=INFO, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender

Linux下的Eclipse远程运行Mapreduce到hadoop集群

假设已经配置好集群. 在开发客户机Linux centos 6.5上进行: a.客户机centos 有一个和集群同名的访问用户:huser. b.vim /etc/hosts 加入namenode,加入本机IP. ------------------------- 1.安装hadoop集群 同版本的 jdk, hadoop, 2.Eclipse 编译和安装同版本的 hadoop-plugin, 2.a设定preference->hadoop MR->hadoop install directo

Win系统下用Eclipse中运行远程hadoop MapReduce程序常见错误及解决方法

一.Permission denied 1.Win系统下用Eclipse中运行远程hadoop MapReduce程序出现报错 org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException: Permission denied: user=xxx, access=WRITE, inode="xxx":xxx:supergroup:rwxr-xr-x

在Windows上使用Eclipse配置Hadoop MapReduce开发环境

在Windows上使用Eclipse配置Hadoop MapReduce开发环境 1. 系统环境及所需文件 windows 8.1 64bit Eclipse (Version: Luna Release 4.4.0) hadoop-eclipse-plugin-2.7.0.jar hadoop.dll & winutils.exe 2. 修改Master节点的hdfs-site.xml 添加如下内容 <property> <name>dfs.permissions<