`

hadoop debug设置

阅读更多

要学习hadoop 那debug源码学习是最好的方式了,那如何debug呢

 

    首先找hadoop启动脚本,位于HADOOP_INSTALL_HOME下的bin目录中的hadoop文件

 

   在HADOOP_OPT 列表上增加这么一行即可

 

Java代码   收藏代码
  1. HADOOP_OPTS= "$HADOOP_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y"   

 

   eclipse里debug的时候选择Remote Java Application 端口设置为8787就可以了。

 

   启动hadoop的时候他就会在8787端口监听,直到有人连接过来才会继续前进。

 

    貌似这样是可以debug了,不过呢在debug与非debug之间不是很方便的切换过来,例如每次都需要修改debug那一行的参数列表,希望能够动态调整就好了,类似加个debug启动参数就进入debug模式,如果不加debug就是正常启动模式。利用前一篇讲shell技巧里的获取最后一个参数的功能,我们可以增加如下代码实现debug动态调整功能。

 

Python代码   收藏代码
  1. debug=${! #}   
  2. #eval "debug=\$$#"  另外一种获取最后一个参数的方式   
  3. if  [  "$debug"  =  "debug"  ]; then  
  4.   HADOOP_OPTS="$HADOOP_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y"   
  5. fi  

 

    将多余的debug参数去掉,同时需要修改启动脚本里的exec

 

Python代码   收藏代码
  1. if  [  "$debug"  =  "debug"  ]; then  
  2. declare -a params  
  3. i=1   
  4. for   arg   in     "$@"   
  5.   do  
  6.      params[$i]=$arg  
  7.      ((i++))  
  8.   done  
  9. unset params["$#" ]  
  10. exec   "$JAVA"  $JAVA_HEAP_MAX $HADOOP_OPTS -classpath  "$CLASSPATH"  $CLASS  "${params[@]:1}"   
  11. else   
  12. exec   "$JAVA"  $JAVA_HEAP_MAX $HADOOP_OPTS -classpath  "$CLASSPATH"  $CLASS  "$@"   
  13. fi  

 

 

    这样在启动时 如果是

Java代码   收藏代码
  1. hadoop  dfs -xx  debug  

 

    那就进入debug模式,否则正常运行模式。

更多信息请查看 java进阶网 http://www.javady.com

分享到:
评论

相关推荐

    hadoop winutils hadoop.dll

    然后,通过配置Eclipse的Run/Debug Configuration,设置正确的Java运行参数,如HADOOP_HOME指向Hadoop的安装目录。 在使用winutils.exe和hadoop.dll时,可能会遇到一些常见问题,如找不到相关文件的错误、权限问题...

    hadoop lzo debug jar

    hadoop用于解析lzo的包,这个问题在使用presto的时候需要将此包添加到presto的工具包中,以支持lzo格式文件的查询。

    如何在Windows下的eclipse调试Hadoop2.2.0分布式集群

    在Eclipse中,你可以为MapReduce任务设置断点,并使用Debug模式运行。在“Run Configurations”中,配置Hadoop Job运行参数,包括输入路径、输出路径、Job配置等。启动调试后,Eclipse会将JAR文件提交到Hadoop集群...

    Hadoop plugin for eclipse

    3. **winutils.exe**: 这同样是针对Windows平台的Hadoop工具,它是Hadoop在Windows上的一个关键组件,提供了类似Linux环境下`hadoop`命令行工具的功能,比如设置HADOOP_HOME环境变量,管理HDFS等。 **使用步骤** 1...

    hadoop mapreduce helloworld 能调试

    3. **使用 DebugFlag**:在提交作业时,可以设置 `-Dmapred.map.task.debug.script` 和 `-Dmapred.reduce.task.debug.script` 参数,使得 Map 或 Reduce 任务在完成时生成一个脚本,用于进一步分析。 4. **使用可视...

    hbase和hadoop数据块损坏处理

    * hdfs debug recoverLease -path 文件位置 -retries 重试次数:修复指定路径的 HDFS 文件 六、自动修复 HDFS HDFS 自动修复可以通过 directoryscan 和 blockreport 机制来实现。当数据块损坏后,DN 节点会执行 ...

    hadoop-2.6.0版本所需插件.zip

    6. **运行和调试**:写好代码后,右键点击项目,选择"Hadoop" > "Run on Cluster"或"Debug on Cluster",Eclipse会自动将你的程序提交到Hadoop集群上运行。你可以在"Console"视图中查看运行日志,也可以在...

    hadoop2x-eclipse-plugin

    2. 调试MapReduce任务:通过"Debug As" -> "Hadoop Job",Eclipse提供了调试功能,可以在Mapper和Reducer中设置断点,逐步执行代码,查看变量状态,帮助找出问题所在。 六、优化与维护 Hadoop2x-eclipse-plugin还...

    windows-hadoop-2.6.4-bin

    - `HADOOP_HOME`:设置指向Hadoop安装目录的环境变量。 - `PATH`:在系统变量PATH中添加`%HADOOP_HOME%\bin`,使得命令行可以识别Hadoop命令。 4. **编辑配置文件**: - `core-site.xml`:配置Hadoop的基本属性...

    eclipse连接hadoop插件2.6.0/5 2.7.3

    - 配置集群信息:在项目属性中,可以设置Hadoop集群的配置信息,如HDFS地址、YARN地址等。 - 运行和调试:通过Eclipse的Run或Debug配置,可以直接提交MapReduce任务到Hadoop集群,并实时查看日志和结果。 5. **...

    hadoop2x-eclipse-plugin-master

    在Job Manager中选择相应的集群,设置运行参数,然后点击"Run"或"Debug"。 2. 运行过程中,可以在"Console"视图中查看输出,方便定位问题。 六、优化与进阶 1. 除了基本功能,该插件还提供了代码自动补全、错误...

    Hadoop IDEA 本地调试MR 包含文档和所有的资源

    在IDEA中,你可以创建一个新的Run/Debug Configuration,选择“Application”类型,设置Main Class为你的Job类,添加VM options来模拟Hadoop环境,例如`-Dmapreduce.jobtracker.address=localhost:8021`。...

    eclipse+maven+hadoop+文件增删改查

    在调试时,可以设置断点并使用`Debug As`选项进行调试。 7. **hadoop01**:这可能是示例代码中包含的一个Hadoop相关模块或者测试数据。具体的内容可能涉及文件系统的操作,例如创建、读取、更新或删除文件的Java...

    hadoop模块编译与日志调试.doc|hadoop模块编译与日志调试.doc

    在终端中设置环境变量`HADOOP_ROOT_LOGGER`为`DEBUG,console`以开启DEBUG级别的日志打印,如需关闭,则将其设置为`INFO,console`。 - **Hadoop Shell命令**:`hadoop daemonlog`命令用于管理日志级别。`-getlevel`...

    Hadoop环境搭建 附件.rar

    此外,确保Hadoop的JVM允许远程调试,如在`mapred-site.xml`中添加`<property><name>mapreduce.map.debug.port</name><value>5005</value></property>`,指定调试端口。 12. **测试远程调试**: 在你的IDE(如...

    Eclipse下搭建Hadoop2.7.3开发环境

    在弹出的对话框中,设置输入文件(例如,一个包含文本的文本文件)和输出目录。点击“Run”启动MapReduce作业。 7. **查看结果**: 作业完成后,Hadoop会将结果写入指定的输出目录。你可以通过HDFS命令行或者...

    大数据云计算技术系列 hadoop搭建与eclipse开发环境设置-已验证通过(共13页).rar

    5. 运行和调试:使用Eclipse的Run或Debug功能,可以直接在本地运行MapReduce程序,或者连接到远程Hadoop集群进行测试。 此外,对于更高效的开发,可以学习使用Hadoop的高级特性,如Pig、Hive、Spark等工具,它们...

    Hadoop on redhat enterprise 5.4部署安装手记

    4. 配置Hadoop的环境变量,包括`HADOOP_HOME`、`PATH`,并编辑`hadoop-env.sh`文件设置`JAVA_HOME`。 5. 配置Hadoop的核心配置文件`core-site.xml`,指定HDFS的名称节点和临时目录。 6. 配置HDFS的配置文件`hdfs-...

    hadoop-0.20.2-cdh3u6

    Hadoop是Apache软件基金会开发的一个开源分布式计算框架,它的出现主要解决了大数据处理的难题。"hadoop-0.20.2-cdh3u6"是Cloudera公司基于Hadoop的一个发行版本,名为CDH(Cloudera Distribution Including Apache ...

    eclipse3.6+hadoop-0.21.0插件配置使用

    - 若需调试,可以在代码中设置断点,然后使用`Debug As` -> `Map/Reduce Job`运行任务,Eclipse将提供调试功能。 通过以上步骤,你已经成功在Eclipse 3.6中配置并使用了Hadoop 0.21.0插件。这个插件使得开发人员能...

Global site tag (gtag.js) - Google Analytics