You can also define a new config file ("mymapred.xml"), and put all the 
properties you want to change there. Then you can do "hadoop --config 
mymapred.xml jar {yourjar} {classname}".  Also, I add the extra properties 
with a space between -D and property name, "hadoop --config mymapred.xml 
jar {yourjar} {classname} -D mapred.create.symlink=yes ....     {your 
program arguments}".  Hadoop program is somewhat picky when interperate 
the arguments.  In your runner, try to print out all the arguments, if the 
"-D..." goes there, you know that hadoop does not pick up those property 
override. 

Zhu, Guojun
Modeling Sr Graduate
571-3824370
guojun_...@freddiemac.com
Financial Engineering
Freddie Mac



   Marcos Ortiz <mlor...@uci.cu> 
   06/07/2012 09:16 AM
   Please respond to
mapreduce-user@hadoop.apache.org


To
mapreduce-user@hadoop.apache.org
cc
Sid Kumar <sqlsid...@gmail.com>
Subject
Re: override mapred-site.xml from command line








On 06/06/2012 07:44 PM, Sid Kumar wrote: 
I am able to set it via the API. 
Configuration.setBoolean(mapred.output.compress,true). This works!

But the -D from the command line still doesn't work. Any idea what I may 
be missing here?

Some additional info - Also when I try running the -D on command line on a 
local cluster (pseudo distributed mode) it works, but when I try it on a 
fully distributed cluster running jobs from a client machine it doesn't 
work. Is there a different way for setting it in this case - in hadoop-env 
perhaps?

Thanks
Sid

On Wed, Jun 6, 2012 at 4:06 PM, Sid Kumar <sqlsid...@gmail.com> wrote:
Mayank,
I dont have a final tag for that property set. I looked at the 
mapred-default.xml in the src/mapred folder and that doesn't have a final 
tag too. Should I set it explicitly to false?
You should do it explicitly.
You should read the excellent blog post from Lars Francke where he did a 
great job explaining parameter by parameter and why is recommendable to 
set them to final.
http://gbif.blogspot.com/2011/01/setting-up-hadoop-cluster-part-1-manual.html


Regards

Sid 


On Wed, Jun 6, 2012 at 3:50 PM, Mayank Bansal <may...@apache.org> wrote:
Check your mapred site xml if these parameters have <final>true</final> 

making final to false should solve your problem. 


On Wed, Jun 6, 2012 at 3:41 PM, Sid Kumar <sqlsid...@gmail.com> wrote:
Hi,
I am trying to override mapred-site.xml (more specifically 
mapred.compress.map.output 
and mapred.output.compression. 
codec) from the command line when I 
execute the jar. 
I have been using hadoop jar <jarname> <class> - 
Dmapred.compress.map.output=true and 
-Dmapred.output.compression.codec=org.apache.hadoop.io.SnappyCodec 
The above doesnt work as the job.xml for the jar still uses the default 
properties and not the one i specify here. Is there a different approach 
to override these properties. I am submitting jobs from a client machine 
that has the same version of configuration files as my cluster. 
Thanks
Sid




-- 
Marcos Luis Ortíz Valmaseda
 Data Engineer && Sr. System Administrator at UCI
 http://marcosluis2186.posterous.com
 http://www.linkedin.com/in/marcosluis2186
 Twitter: @marcosluis2186 



<<image/gif>>

Reply via email to