转自:http://dikar.iteye.com/blog/941527
要学习hadoop 那debug源码学习是最好的方式了,那如何debug呢
首先找hadoop启动脚本,位于HADOOP_INSTALL_HOME下的bin目录中的hadoop文件
在HADOOP_OPT 列表上增加这么一行即可
- HADOOP_OPTS="$HADOOP_OPTS-Xdebug-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y"
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动态调整功能。
- debug=${!
- if["$debug"="debug"];then
- HADOOP_OPTS="$HADOOP_OPTS-Xdebug-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y"
- fi
debug=${!#}
#eval "debug=\$$#" 另外一种获取最后一个参数的方式
if [ "$debug" = "debug" ]; then
HADOOP_OPTS="$HADOOP_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y"
fi
将多余的debug参数去掉,同时需要修改启动脚本里的exec
- if["$debug"="debug"];then
- declare-aparams
- i=1
- forargin"$@"
- do
- params[$i]=$arg
- ((i++))
- done
- unsetparams["$#"]
- exec"$JAVA"$JAVA_HEAP_MAX$HADOOP_OPTS-classpath"$CLASSPATH"$CLASS"${params[@]:1}"
- else
- exec"$JAVA"$JAVA_HEAP_MAX$HADOOP_OPTS-classpath"$CLASSPATH"$CLASS"$@"
- fi
if [ "$debug" = "debug" ]; then
declare -a params
i=1
for arg in "$@"
do
params[$i]=$arg
((i++))
done
unset params["$#"]
exec "$JAVA" $JAVA_HEAP_MAX $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "${params[@]:1}"
else
exec "$JAVA" $JAVA_HEAP_MAX $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"
fi
这样在启动时 如果是
hadoop dfs -xx debug
那就进入debug模式,否则正常运行模式。
分享到:
相关推荐
hadoop用于解析lzo的包,这个问题在使用presto的时候需要将此包添加到presto的工具包中,以支持lzo格式文件的查询。
NULL 博文链接:https://qindongliang.iteye.com/blog/2078452
hadoop mapreduce helloworld 能调试 详细内容请看:http://blog.csdn.net/wild46cat/article/details/53641765
hadoop-0.20.2-cdh3u6 cloudera
【Debug跟踪Hadoop3.0.0源码之MapReduce Job提交流程】第一节 Configuration和Job对象的初始化前言Configuration和Job对象的初始化后记跳转 前言 不得不说,在此前我对阅读源码这件事是拒绝的,一方面也知道自己非读...
包括编译好的hadoop-eclipse-plugin-2.7.1.jar包,WordCount示例demo,还有算的上是教程的博客地址,本人eclipse搭建环境用到的东西吧
hadoop+spark加速同态加密 Encrypted.py 加密 Decrypted.py 解密 data文件夹下fee.csv是demo数据 project.config是项目配置文件,用于填写数据路径和结果路径。 Debug为True的情况下使用filepath_local属性,相反...
enterprise-debuginfo-6.2.1-1426065.el7.x86_64.rpm cloudera-manager-agent-6.2.1-1426065.el7.x86_64.rpm cloudera-manager-server-db-2-6.2.1-1426065.el7.x86_64.rpm cloudera-manager-server-6.2.1-1426065....
Debug Hadoop MapReduce Applications with Intellij IDEA and Maven locally, without Hadoop and HDFS environment. 前言 Hadoop可以运行在三种模式下: 单机模式 伪分布模式 完全分布式模式 相信初学者入门Hadoop...
flume1.9.0+hdfs3.2.2相关jar
enterprise-debuginfo-6.2.0-968826.el7.x86_64.rpm cloudera-manager-server-db-2-6.2.0-968826.el7.x86_64.rpm cloudera-manager-agent-6.2.0-968826.el7.x86_64.rpm RPM-GPG-KEY-cloudera docker-engine-1.7.1-1....
hadoop三种执行方式MR执行环境有两种:本地测试环境,服务器环境本地测试环境(windows):在windows的hadoop目录bin目录有一个winutils.exe1、在windows下配置hadoop的环境变量2、拷贝debug工具(winutils.ext)到...
//设置hadoop.security.authentication为kerberos conf.set("hadoop.security.authentication", "kerberos"); //获取kerberos配置文件路径(krb为kerberos配置文件) String krbStr=Thread.current...
$rk->setLogLevel(LOG_DEBUG); $rk->addBrokers("127.0.0.1"); $topic = $rk->newTopic("test"); $topic->consumeStart(0, RD_KAFKA_OFFSET_BEGINNING); while (true) { $msg = $topic->consume(0, ...
状态: local:D:\我的文档\桌面\oracleasm-2.6.18-164.el5-debuginfo-2.0.5-1.el5.i686.rpm => remote:/disk/oracleasm-2.6.18-164.el5-debuginfo-2.0.5-1.el5.i686.rpm 状态: 文件传输成功,传输了 2,844 字节 (用时...
12.06更新:使用数据集的局部做测试,项目1~3程序做完,Debug结束 12.08更新:实验报告v1.0 12.10更新:项目4使用自己的算法参加比赛,成绩0.6826410,实时排名100 12.12更新:项目4用spark做完,实验报告写完,...
本文主要讨论 Apache Spark 的设计与实现,重点关注其设计思想、运行原理、实现架构及性能调优,附带讨论与 Hadoop MapReduce 在设计与实现上的区别。不喜欢将该文档称之为“源码分析”,因为本文的主要目的不是...
CDH5.16.2全安装包,包含以下内容: 本人亲自安装测试通过后整理的的cdh5.16.2离线安装教程 CM安装及部署教程.md cloudera-manager-centos7-cm5.16.2_x86_64.tar.gz manifest.json CDH-5.16.2-1.cdh5.16.2.p0.8-el7....
enterprise-debuginfo-6.3.1-1466458.el7.x86_64.rpm;cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm;cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm;cloudera-manager-server-db-2-6.3.1-...