You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chukwa.apache.org by "Jiaqi Tan (JIRA)" <ji...@apache.org> on 2009/12/23 08:08:29 UTC

[jira] Commented: (CHUKWA-440) Custom processor classes not detected unless added to chukwa-core jar

    [ https://issues.apache.org/jira/browse/CHUKWA-440?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12793954#action_12793954 ] 

Jiaqi Tan commented on CHUKWA-440:
----------------------------------

I believe in general, if a Hadoop MapReduce program is going to use class files from multiple jars, then the additional jar files need to be loaded using DistributedCache, and the corresponding Path added to the classpath to force them to be copied to every slave node that will run the code. 

The way to get the functionality you're suggesting, I believe, would be to modify the Demux class to take in a list of extra jars and load them using DistributedCache. 


> Custom processor classes not detected unless added to chukwa-core jar
> ---------------------------------------------------------------------
>
>                 Key: CHUKWA-440
>                 URL: https://issues.apache.org/jira/browse/CHUKWA-440
>             Project: Hadoop Chukwa
>          Issue Type: Bug
>          Components: Data Processors
>            Reporter: Bill Graham
>
> http://wiki.apache.org/hadoop/DemuxModification
> After implementing a custom parser as shown in the wiki link above and mapping it to a data type in chukwa-demux.xml, there's no easy way to register the class so it gets included in the job that's submitted to the hadoop cluster. I've added my jar containing the class to the lib/ directory of the chukwa data processor install and verified that it's in the classapath, but it's not submitted with the Hadoop job. On the Hadoop cluster ClassNotFoundExceptions are thrown in my mapper.
> The only way I've been able to make this work is to do the following: 
> 1. put my class in the package org.apache.hadoop.chukwa.extraction.demux.processor.mapper
> 2. then manually add that class to the chukwa-core-0.3.0.jar that is on my data processor
> Instead, the class should be detected from whatever jar it lives in that's in the demux class path, regardless of the package it lives in.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.