eclipse 远程调试mapreduce

使用环境:centos6.5+eclipse(4.4.2)+hadoop2.7.0

1、下载eclipse hadoop 插件  hadoop-eclipse-plugin-2.7.0.jar 粘贴到eclipse 目录下的plugins下重新启动eclipse

2、选择eclipse里面的windows-->showview-->other-->mapreduce tool -->map/reduce locations

3、选择上一步后eclipse右下角会多出一个map/reduce locations  选项卡,在里面点击右键-->new hadoop locations -->配置如下图所示:

4、配置hadoop/etc/hadoop/mapred-site.xml,在<configuration></configuration>追加如下信息

<property>  
    <name>mapred.map.child.java.opts</name>   
    <value>-Xmx1024m -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8883</value>  
</property>  
<property>  
    <name>mapred.tasktracker.map.tasks.maximum</name>  
    <value>1</value>  
</property>  

追加后的mapred-site.xml完整信息

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>

        <name>mapreduce.framework.name</name>

        <value>yarn</value>

    </property>
    <property>  
        <name>mapred.map.child.java.opts</name>   
            <value>-Xmx1024m -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8883</value>  
     </property>  
      <property>  
          <name>mapred.tasktracker.map.tasks.maximum</name>  
          <value>1</value>  
      </property> 
      
</configuration>

追加后的mapred-site.xml完整信息

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

  <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
<property> <name>mapred.map.child.java.opts</name> <value>-Xmx1024m -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8883</value> </property>
<property> <name>mapred.tasktracker.map.tasks.maximum</name> <value>1</value> </property> <property> <name>mapred.reduce.child.java.opts</name> <value>-Xmx1024m -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8884</value> </property>
<property> <name>mapred.tasktracker.reduce.tasks.maximum</name> <value>1</value> </property>
</configuration>

 

执行:hadoop jar xxx.jar words.txt /wordsout

 提交上面之后job就会在map 0% reduce 0%的时刻停下来等待远程调试的debugger。

这时在eclipse -->Debug as -->Remote Java Appplicetion :Contention Proteties IP:127.0.0.1[根据情况填写实际IP],Port:8883[上面配置的端口] apply  debug

这时就可以进入map函数里面了。

5、调试Reduce 任务

配置hadoop/etc/hadoop/mapred-site.xml,在<configuration></configuration>追加如下信息

 

<property>  
    <name>mapred.reduce.child.java.opts</name>  
    <value>-Xmx1024m -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8884</value>  
</property>  
<property>  
    <name>mapred.tasktracker.reduce.tasks.maximum</name>  
    <value>1</value>  
</property> 

 

执行:hadoop jar xxx.jar words.txt /wordsout

之后提交job,job就会在map 100% reduce 0%的时刻停下来等待远程调试的debugger。

这时在eclipse -->Debug as -->Remote Java Appplicetion :Contention Proteties IP:127.0.0.1[根据情况填写实际IP],Port:8884[上面配置的端口] apply  debug

这时就可以进入reduce函数里面了。

 

本篇文章是基于hadoop 伪部署的基本上配置 的

参考文章:http://blog.csdn.net/gjt19910817/article/details/30384685

 

posted on 2015-07-05 20:42  lvlv岁月流逝  阅读(1466)  评论(0编辑  收藏  举报

导航