win7 Eclipse连接Hadoop
2014-07-02 17:16
260 查看
conf.set("fs.defaultFS","hdfs://192.168.1.201:9000"); conf.set("mapred.job.tracker","192.168.1.201:9001"); conf.set("mapreduce.framework.name", "yarn"); conf.set("yarn.resourcemanager.address", "192.168.1.201:8032"); |
同时需用往C:\Windows\System32加入hadoop.dll文件(该文件是远程连接Hadoop的动态库)
2014-04-03
21:20:21,568 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 null\bin\winutils.exe in the Hadoop binaries.
at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:278)
at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:300)
at org.apache.hadoop.util.Shell.<clinit>(Shell.java:293)
at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:76)
at org.apache.hadoop.yarn.conf.YarnConfiguration.<clinit>(YarnConfiguration.java:345)
at org.fansy.hadoop.mr.WordCount.getConf(WordCount.java:104)
at org.fansy.hadoop.mr.WordCount.runJob(WordCount.java:84)
at org.fansy.hadoop.mr.WordCount.main(WordCount.java:47)
上面的错误为在Hadoop中执行的时候缺少winutils.exe下载放入$HADOOP_HOME/bin目录中,再运行
会出现不能写入的权限问题:
调整的权限主要有/tmp
以及运行wordcount的输入、输出目录。命令如下: $HADOOP_HOME/bin/hadoop fs -chmod -R 777 /tmp 。
接着运行会出现如下错误:
ERROR
[main] security.UserGroupInformation (UserGroupInformation.java:doAs(1494)) - PriviledgedActionException as:Administrator (auth:SIMPLE) cause:java.io.IOException:
Failed to run job : Application application_1396459813671_0001 failed 2 times due to AM Container
for appattempt_1396459813671_0001_000002 exited with exitCode: 1 due to: Exception from
container-launch:
org.apache.hadoop.util.Shell$ExitCodeException: /bin/bash: line 0: fg: no job control
该错误需要修改jar包的几个文件(分为3步)
1. 修改MRapps.java
、YARNRunner.java的源码,然后打包替换原来的jar包中的相应class文件,这两个jar我已经打包。(这两个jar包已经上传)然后替换集群中相应的jar吧,同时需要注意替换。
2. 修改mapred-default.xml
,添加:(这个只需在eclipse中导入的jar包修改即可,修改后的jar包不用上传到集群,这个文件在hadoop-mapreduce-client-core-2.2.0.jar文件中)
<property>
<name>mapred.remote.os</name>
<value>Linux</value>
<description>
Remote MapReduce framework's OS, can be either Linux or Windows
</description>
</property>
修改后在运行,会出现如下错
Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster
修改hadoop-mapreduce-client-core-2.2.0.jar文件中的mapred-default.xml
<property>
<name>mapreduce.application.classpath</name>
<value>
$HADOOP_CONF_DIR,
$HADOOP_COMMON_HOME/share/hadoop/common/*,
$HADOOP_COMMON_HOME/share/hadoop/common/lib/*,
$HADOOP_HDFS_HOME/share/hadoop/hdfs/*,
$HADOOP_HDFS_HOME/share/hadoop/hdfs/lib/*,
$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*,
$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*,
$HADOOP_YARN_HOME/share/hadoop/yarn/*,
$HADOOP_YARN_HOME/share/hadoop/yarn/lib/*
</value>
</property>
还有hadoop-yarn-common-2.2.0.jar这个jar包中的yarn-default.xml文件
<property>
<name>mapreduce.application.classpath</name>
<value>
$HADOOP_CONF_DIR,
$HADOOP_COMMON_HOME/share/hadoop/common/*,
$HADOOP_COMMON_HOME/share/hadoop/common/lib/*,
$HADOOP_HDFS_HOME/share/hadoop/hdfs/*,
$HADOOP_HDFS_HOME/share/hadoop/hdfs/lib/*,
$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*,
$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*,
$HADOOP_YARN_HOME/share/hadoop/yarn/*,
$HADOOP_YARN_HOME/share/hadoop/yarn/lib/*
</value>
</property>
上面修改的两个jar包只用替换eclipse中的jar包即可,不需要替换集群中的。
3.然后在运行出现如下错误:
Caused
by: java.lang.ClassNotFoundException: Class com.mapreduce.WordCount$TokenizerMapper not found
上传我们打包的wordcount程序的jar文件到$HADOOP_HOME/share/hadoop/mapreduce/lib下面,如果还是不行就把该jar包放到Eclipse的该项目的lib下。
以上几个修改的jar包都已上传(http://pan.baidu.com/disk/home#path=%2Fhadoop)。
相关文章推荐
- 通过win7 eclipse连接虚拟机redhat上hadoop 的实现(下)
- Win7中使用Eclipse连接虚拟机中的Ubuntu中的Hadoop2.4<1>
- win7使用eclipse连接hadoop集群,运行mapreduce报错之:org.apache.hadoop.security.AccessControlException
- Win7上的Eclipse3.3远程连接ubuntu14.04中的hadoop0.20.2
- win7下eclipse插件连接linux下hdfs单机伪集群 hadoop 2.6
- win7中配置eclipse连接Ubuntu内的hadoop
- win7 eclipse连接hadoop2.x开发环境搭建
- win7下使用eclipse远程连接hadoop
- 通过win7 eclipse 连接虚拟机redhat 上hadoop的实现(中)
- win7基于maven和eclipse连接远程Linux服务器的hadoop2.0集群的入门程序
- 【甘道夫】win7环境下eclipse连接hadoop报错简单解决:重编译FileUtil.java
- [开发]Win7环境下Eclipse连接Hadoop2.2.0
- Win7中使用Eclipse连接虚拟机中的Ubuntu中的Hadoop2.4<3>
- win7下通过eclipse连接hadoop
- 通过win7 eclipse 连接虚拟机redhat 上hadoop的实现(上)
- 【甘道夫】Win7环境下Eclipse连接Hadoop2.2.0
- 【甘道夫】Win7环境下Eclipse连接Hadoop2.2.0
- Win7中使用Eclipse连接虚拟机中的Ubuntu中的Hadoop2.4<3>
- Hadoop上路_08-在win7中配置eclipse连接Ubuntu内的hadoop
- Win7下用Eclipse远程连接Hadoop进行开发