Hadoop学习九:hdfs源代码调试
来源:互联网 发布:生命起源知乎 编辑:程序博客网 时间:2024/04/30 19:53
Hadoop学习九:hdfs源代码调试
标签(空格分隔): hadoop
- Hadoop学习九hdfs源代码调试
- 一利用log4j调试
一,利用log4j调试
1,在eclipse工程里面创建source folder
2,拷贝log4j.properties文件
[hadoop002@hadoop002 hadoop]$ cp log4j.properties /home/hadoop002/workspace5/hadoopstudy/res
3,刷新eclipse工程
日志级别:DEBUG
[hadoop002@hadoop002 hadoop-2.5.0]$ ps -ef|grep namenode
2,查看并设置日志级别
[hadoop002@hadoop002 hadoop-2.5.0]$ bin/hadoop daemonlog -getlevel hadoop002.com.cn:50070 org.apache.hadoop.hdfs.server.namenode.NameNode
a:通过网页设置日志级别【临时生效】
b:通过shell命令设置日志级别【临时生效】
[hadoop002@hadoop002 hadoop-2.5.0]$ bin/hadoop daemonlog -setlevel hadoop002.com.cn:50070 org.apache.hadoop.hdfs.server.namenode.NameNode INFO
c:修改log4j文件【永久生效】
hadoop.root.logger=INFO,consolehadoop.log.dir=.hadoop.log.file=hadoop.log
方式二:eclipse远程调试代码
步骤 1 调试模式下启动 Hadoop。
在 Hadoop 安装目录下运行如下的 Shell 脚本:
export YARN_NODEMANAGER_OPTS=”-Xdebug -Xrunjdwp:transport=dt_socket,address=8788,
server=y,suspend=y”
sbin/start-all.sh
运行了脚本后会看到 Shell 命令行终端显示如下信息:
Listening for transport dt_socket at address: 8788
此时表明 ResourceManager 处于监听状态,直到收到 debug 确认信息。
#远程调试namenodeexport HADOOP_NAMENODE_OPTS="-agentlib:jdwp=transport=dt_socket,address=8888,server=y,suspend=y"#远程调试datanodeexport HADOOP_DATANODE_OPTS="-agentlib:jdwp=transport=dt_socket,address=9888,server=y,suspend=y"#远程调试RMexport YARN_RESOURCEMANAGER_OPTS="-agentlib:jdwp=transport=dt_socket,address=10888,server=y,suspend=y"#远程调试NMexport YARN_NODEMANAGER_OPTS="-agentlib:jdwp=transport=dt_socket,address=10888,server=y,suspend=y"
步骤 2 设置断点。
在前面新建的 Java 工程“hadoop-2.0”中,找到 ResourceManager 相关代码,并在感
兴趣的地方设置一些断点。
步骤 3 在 Eclipse 中调试 Hadoop 程序。
在 Eclipse 的菜单栏中,依次选择 “Run”→“Debug Configurations”→“Remote Java
Applications” ,并按照要求填写远程调试器名称(自己定义一个即可) ,ResourceManager
所在 host 以及监听端口号等信息,并选择 Hadoop 源代码工程,便可进入调试模式。
调试过程中,ResourceManager 输出的信息被存储到日志文件夹下的 yarn-XXX-
resourcemanager-localhost.log 文件(XXX 为当前用户名)中,可通过以下命令查看调试过
程中打印的日志:
tail -f logs/yarn-XXX-resourcemanager-localhost.log
- Hadoop学习九:hdfs源代码调试
- Hadoop源代码分析 - HDFS
- Hadoop学习笔记(九)HDFS架构分析
- 怎么调试Hadoop源代码
- Hadoop学习之HDFS
- hadoop学习--HDFS
- Hadoop中的HDFS学习
- hadoop-hdfs学习笔记
- hadoop-hdfs学习1
- hadoop-hdfs学习2
- Hadoop源代码分析(九)
- hadoop 2.6.0 hdfs ReplicationMonitor 源代码分析
- hadoop学习--HDFS详细学习
- Hadoop学习笔记之---HDFS
- hadoop学习笔记<三>----HDFS
- hadoop基础学习-hdfs原理
- hadoop学习笔记-HDFS原理
- Hadoop学习笔记---HDFS简介
- eerer
- java中常用的包
- 21. 投票(poll)
- 对deep learning的第一周调研
- cmd 小技巧
- Hadoop学习九:hdfs源代码调试
- 【红宝书笔记】 创建对象的几种方法
- cmd中添加中文字体
- Android_基础知识掌握
- bzoj3507【CQOI2014】通配符匹配
- 跟我一起学习MySQL技术内幕(第五版):(第二章学习日记4)
- Ubuntu环境下安装myeclipse
- Python def函数的定义、使用及参数传递实现代码
- C++第三次作业