`
duming115
  • 浏览: 113182 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hadoop 下的debug

阅读更多
2011.12.20
1. hadoop 集群环境中对namenode,datanode,jobtracker,tasktracker的监控甚至是debug.
  要修改hadoop-env.sh文件:

export HADOOP_TASKTRACKER_OPTS=" -Dcom.sun.management.jmxremote.authenticate=false  -Dcom.sun.management.jmxremote.ssl=false  -Dcom.sun.management.jmxremote.port=9051 -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9052 "

export HADOOP_TASKTRACKER_OPTS="-Dcom.sun.management.jmxremote $HADOOP_TASKTRACKER_OPTS"

这样可以通过 jconsole远程连接 tasktracker_server_ip:9051 查看jvm的运行状态,包括线程,堆栈,运行参数等.
可以通过Eclipse Remote debug 连接tasktracker_server_ip:9052,打断点来跟踪TaskTracker的程序运行步骤.

2. 当设置 mapred.job.reuse.jvm.num.tasks 设置为-1时,只有属于同一个job的多个map(分配给一台同样的服务器)才会在同一个jvm中运行,对于属于同一个job的map,reduce还未知.

3. 对于map及reduce任务,都是由TaskController(默认为DefaultTaskController)生成一个taskjvm.sh 文件,然后由java的Process类来执行,通过process.waitFor()来返回exitCode,如果exitCode==0说明进程正常结束,如果返回非0,说明进程非正常退出,在taskjvm.sh可以看到所有的运行参数和变量(可以通过grep tasktracker.log日志找到),通过查看task日志来分析原因,每个task的日志在 ${hadoop.log.dir}/userlogs/${job_id}/${task_id}/ 目录下,有stderr 错误输出,stdout 标准输出,syslog 运行日志,log.index 前面三个文件的数据大小.

4. 如果jvm设置为重用,对于一个job的debug可以通过设置属性来对job进行jmx和debug
<property>
<name>mapred.map.child.java.opts</name>
<value>-Xmx512m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false  -Dcom.sun.management.jmxremote.ssl=false  -Dcom.sun.management.jmxremote.port=21000 -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=22000 </value>
</property>

<property>
<name>mapred.reduce.child.java.opts</name>
<value>-Xmx512m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false  -Dcom.sun.management.jmxremote.ssl=false  -Dcom.sun.management.jmxremote.port=10011 -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=10012 </value>
</property>

2012.01.19
  1. hadoop -D参数的设置位置:
hadoop  jar hbase-json-test.jar -Dmapred.output.compress=true -Dmapred.output.compression.codec=com.hadoop.compression.lzo.LzoCodec /maxthon/mac_export/20120115/ duming/mac_hfile/20120121/

2012.05.11
  1. hadoop distcp
hadoop distcp -Dmapred.map.child.java.opts=" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=22000 " -skipcrccheck -update -m 1 hftp://namenode-bj.hadoop.maxthon.cn:50070/user/yangfeng/tttt.txt /user/hadoop/duming/
  不版本间的数据迁移要注意:
  a. source 用hftp协议.
  b. 迁移到的hadoop集群版本比较高, 最好设置-skipcrccheck选项也-update选项, skipcrccheck忽略FileChecksum校验, 因为版本的升级可能带来Checksum值不一样, cdh4与cdh3就是这样.

2012.06.01
1. load数据到现有的partition 下, 报错误, 但最终还是能将数据转移过去, 最终原因是没有使用use views;

2012.06.09
org.apache.hadoop.hive.ql.parse.SemanticException: org.apache.hadoop.hive.ql.metadata.HiveException: Invalid partition for table chukwa
at org.apache.hadoop.hive.ql.optimizer.pcr.PcrOpProcFactory$FilterPCR.process(PcrOpProcFactory.java:122)
at org.apache.hadoop.hive.ql.lib.DefaultRuleDispatcher.dispatch(DefaultRuleDispatcher.java:89)
at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.dispatch(DefaultGraphWalker.java:88)
at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.walk(DefaultGraphWalker.java:125)
at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.startWalking(DefaultGraphWalker.java:102)
at org.apache.hadoop.hive.ql.optimizer.pcr.PartitionConditionRemover.transform(PartitionConditionRemover.java:78)
at org.apache.hadoop.hive.ql.optimizer.Optimizer.optimize(Optimizer.java:87)
at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:7306)
at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:243)
at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:430)
at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:337)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:889)
at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:255)
at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:212)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:403)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:671)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:554)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.RunJar.main(RunJar.java:200)
Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.hadoop.hive.ql.metadata.HiveException: Invalid partition for table chukwa
at org.apache.hadoop.hive.ql.metadata.Hive.getPartitionsByNames(Hive.java:1696)
at org.apache.hadoop.hive.ql.optimizer.ppr.PartitionPruner.pruneBySequentialScan(PartitionPruner.java:376)
at org.apache.hadoop.hive.ql.optimizer.ppr.PartitionPruner.prune(PartitionPruner.java:233)
at org.apache.hadoop.hive.ql.optimizer.pcr.PcrOpProcFactory$FilterPCR.process(PcrOpProcFactory.java:112)
... 21 more
Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Invalid partition for table chukwa
at org.apache.hadoop.hive.ql.metadata.Partition.initialize(Partition.java:207)
at org.apache.hadoop.hive.ql.metadata.Partition.<init>(Partition.java:106)
at org.apache.hadoop.hive.ql.metadata.Hive.getPartitionsByNames(Hive.java:1691)
... 24 more
Caused by: MetaException(message:Invalid partition key & values)
at org.apache.hadoop.hive.metastore.Warehouse.makePartName(Warehouse.java:407)
at org.apache.hadoop.hive.metastore.Warehouse.makePartName(Warehouse.java:392)
at org.apache.hadoop.hive.ql.metadata.Partition.initialize(Partition.java:190)
... 26 more
是因为数据库 PARTITION_KEY_VALS中对应某个PART_ID的分区数据少一个logType记录,
hive存储的meta信息位于数据库中, 类为ObjectStore,
2012.07.03
  hadoop  jar  hbase-promote-0.0.1-SNAPSHOT.jar com.maxthon.hbase.promote.etl.EtlPromoteDriver -Dmapred.map.child.java.opts="-Xdebug -Xrunjdwp:transport=dt_socket,address=9090,server=y,suspend=y,address=22000 " /hive/warehouse/maxthon.db/chukwa/logtype=com_ios.g.maxthon.com/logday=20120630/loghour=00 /user/yangfeng/promote_ios/01

2012.07.04
mapred.min.split.size MxCombineFileInputFormatShim.getSplits
mapred.min.split.size.per.node MxCombineFileInputFormatShim.getSplits
mapred.max.split.size  256000000
mapreduce.input.fileinputformat.split.minsize.per.node  1
mapreduce.input.fileinputformat.split.maxsize  256000000  每个block块的大小 MxCombineFileInputFormatNew.getSplits, MxCombineFileInputFormatNew.OneFileInfo判断

2012.07.10
  1. 通过-D更改参数, main方法调用, 参考DistCp
    JobConf job = new JobConf(DistCp.class);
    DistCp distcp = new DistCp(job);
    int res = ToolRunner.run(distcp, args);
分享到:
评论
1 楼 Gauss.Deng 2012-07-14  
这个很好。

相关推荐

    hadoop lzo debug jar

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

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

    NULL 博文链接:https://qindongliang.iteye.com/blog/2078452

    hadoop mapreduce helloworld 能调试

    hadoop mapreduce helloworld 能调试 详细内容请看:http://blog.csdn.net/wild46cat/article/details/53641765

    Eclipse下搭建Hadoop2.7.3开发环境

    包括编译好的hadoop-eclipse-plugin-2.7.1.jar包,WordCount示例demo,还有算的上是教程的博客地址,本人eclipse搭建环境用到的东西吧

    hadoop-0.20.2-cdh3u6

    hadoop-0.20.2-cdh3u6 cloudera

    【Debug跟踪Hadoop3.0.0源码之MapReduce Job提交流程】第一节 Configuration和Job对象的初始化

    【Debug跟踪Hadoop3.0.0源码之MapReduce Job提交流程】第一节 Configuration和Job对象的初始化前言Configuration和Job对象的初始化后记跳转 前言 不得不说,在此前我对阅读源码这件事是拒绝的,一方面也知道自己非读...

    BigDataProcess:hadoop+spark加速同态加密

    BigDataProcess hadoop+spark加速同态加密 Encrypted.py 加密 Decrypted.py 解密 data文件夹下fee.csv是demo数据 project.config是项目配置...Debug为True的情况下使用filepath_local属性,相反使用filepath_hdfs属性

    CM6.2.1和CDH6.2.1资源下载-CDH6.2.1-Hadoop文档类资源

    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....

    word源码java-wordcount:字数

    Hadoop可以运行在三种模式下: 单机模式 伪分布模式 完全分布式模式 相信初学者入门Hadoop第一堂课就是伪分布模式Hadoop系统的安装,相信一定是血泪史各种翻教程各种重装。而实际上,基于HadoopMapReduce程序在单机...

    CDH6.2.0完整安装包网盘下载地址

    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....

    MapReduce_ItemCF:基于MapReduce实现物品协同过滤算法(ItemCF)

    hadoop三种执行方式MR执行环境有两种:本地测试环境,服务器环境本地测试环境(windows):在windows的hadoop目录bin目录有一个winutils.exe1、在windows下配置hadoop的环境变量2、拷贝debug工具(winutils.ext)到...

    flume+hdfs所需jar.rar

    flume1.9.0+hdfs3.2.2相关jar

    PHP-kafka客户端库(PECL).zip

    $rk-&gt;setLogLevel(LOG_DEBUG); $rk-&gt;addBrokers("127.0.0.1"); $topic = $rk-&gt;newTopic("test"); $topic-&gt;consumeStart(0, RD_KAFKA_OFFSET_BEGINNING); while (true) {  $msg = $topic-&gt;consume(0, ...

    FileZilla FTP Client 3.9.0.1

    状态: local:D:\我的文档\桌面\oracleasm-2.6.18-164.el5-debuginfo-2.0.5-1.el5.i686.rpm =&gt; remote:/disk/oracleasm-2.6.18-164.el5-debuginfo-2.0.5-1.el5.i686.rpm 状态: 文件传输成功,传输了 2,844 字节 (用时...

    word源码java-Project4:这是2020Project4的回购

    12.06更新:使用数据集的局部做测试,项目1~3程序做完,Debug结束 12.08更新:实验报告v1.0 12.10更新:项目4使用自己的算法参加比赛,成绩0.6826410,实时排名100 12.12更新:项目4用spark做完,实验报告写完,...

    《ApacheSpark设计与实现》.zip

    本文主要讨论 Apache Spark 的设计与实现,重点关注其设计思想、运行原理、实现架构及性能...示例写文档期间为了 debug 系统,自己设计了一些 examples,放在了 SparkLearning/src/internals 下。 标签:apache

    Hbase 基本操作类

    Hbase 基本操作类 static { //此处可以使用hbase的配置文件,也可以通过代码来实例化hbase... logger.debug("create hbase connection success"); // System.out.println("create hbase connection success"); }

    hbase-debugging:HBase问题的各种测试

    2015-07-31 12:50:24,647 [main] DEBUG org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation - Removed 192.168.1.131:50981 as a location of big_row_1438368609944,,1438368610048....

    CDH5.16.2完整安装包网盘下载地址

    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....

Global site tag (gtag.js) - Google Analytics