在hadoop的logs(日志目录,有可能被修改,默认是hadoop安装目录的logs目录)下的history目录下,这个目录下的文件是根据时间戳命名的,不好找,多找找吧,最终包含job运行开始时间和结束时间的文件名大致是:
job_201406031958_0001_1401797165309_用户名_Job名称,文件开头会说明job开始时间,文件结尾会说明job结束时间以及状态,不过时间是以时间戳形式显示的!
如果我们更改了hadoop的源码,希望对更改的代码进行远程调试,可以通过下面的步骤来进行: 1. 下载从apache社区或者cloudera网站上下载hadoop的压缩包2. 在eclipse中创建一个java工程,并将该压缩包导入其中,建议在linux开发环境下完成3. 对hadoop代码更改后,在linux命令行下运行: "ant jar",重新生成新的jar包4. 将更改后的hadoop部署到远程的linux server上,假设为一个name node,两个data node的场景,并且要调试name node(ip是10.10.10.2)5. 在name node的hadoop bin目录下运行: "cp hadoop hadoop-debug",复制一个新的脚本6. 在hadoop-debug脚本中的最后一行进行如下改动: #exec "$java" $java_heap_max $hadoop_opts -classpath "$classpath" $class "$@" exec "$java" -xdebug -xrunjdwp:transport=dt_socket,address=9090,server=y,suspend=y $java_heap_max $hadoop_opts -classpath "$classpath" $class "$@"7. 运行: "hadoop-debug namenode -format",这个时候命令会挂起,等待调试器连接9090端口,如:#./hadoop-debug namenode -format listening for transport dt_socket at address: 9090 8. 回到开发端,在eclipse中右键选择namenode.java->debug as->debug configuration,进行如下配置:9. 点击apply,然后debug,就可以连接到name node上进行调试了。远程调试和本地调试区别不大,同样可以设置断点等操作。
Hadoop|
Apache Pig|
Apache Kafka|
Apache Storm|
Impala|
Zookeeper|
SAS|
TensorFlow|
人工智能基础|
Apache Kylin|
Openstack|
Flink|
MapReduce|
大数据|
云计算|
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....