Hi,

When a code change is made (e.g. Foo.java is changed and recompiled), does one 
need to copy that .class to all other relevant Nutch nodes?  Or does one need 
to just recompile it locally and rebuild the .job file?  Or something else?

I'm asking because I'm observing some strange behaviour around that.  I 
modified Fetcher2 (for NUTCH-629), copied it to a master node, compiled it, 
rebuild the jar, rebuild the .job file and copid all that to all other nodes.  
Great, I can see from the logs on all nodes that my changes are indeed running 
in tasks on all nodes.

But then I also modified Generator a bit and applied 
https://issues.apache.org/jira/browse/NUTCH-570 and did the same recompile, new 
jar, new .job copy everywhere procedure.  But for some reason I don't see my 
changes running on *any* nodes other than my master node, which is the node 
where the bin/hadoop generate ... command is issued.

Is there something special about Generator that would cause this?

This is what I do after every code change:

$ cd nutch && bin/stop-all.sh && ant jar job && sh ~/bin/sync-to-slaves.sh && 
bin/start-all.sh

$ cat ~/bin/sync-to-slaves.sh 
NUTCH_HOME=~/nutch
for h in foo bar baz do
        rsync -az $NUTCH_HOME/src $h:$NUTCH_HOME
        rsync -az $NUTCH_HOME/build $h:$NUTCH_HOME
        rsync -az $NUTCH_HOME/conf $h:$NUTCH_HOME
done

Again, I see my Fetcher2 changes being executed everywhere, but not my 
Generator changes.
Am I doing something wrong?

Thanks,
Otis
--
Sematext -- http://sematext.com/ -- Lucene - Solr - Nutch


Reply via email to