Return-Path: X-Original-To: apmail-hadoop-mapreduce-user-archive@minotaur.apache.org Delivered-To: apmail-hadoop-mapreduce-user-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 771269CD3 for ; Thu, 7 Jun 2012 21:39:25 +0000 (UTC) Received: (qmail 56388 invoked by uid 500); 7 Jun 2012 21:39:24 -0000 Delivered-To: apmail-hadoop-mapreduce-user-archive@hadoop.apache.org Received: (qmail 56331 invoked by uid 500); 7 Jun 2012 21:39:24 -0000 Mailing-List: contact mapreduce-user-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: mapreduce-user@hadoop.apache.org Delivered-To: mailing list mapreduce-user@hadoop.apache.org Received: (qmail 56323 invoked by uid 99); 7 Jun 2012 21:39:23 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Jun 2012 21:39:23 +0000 X-ASF-Spam-Status: No, hits=2.8 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_REPLY,FSL_RCVD_USER,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of sqlsid101@gmail.com designates 209.85.213.176 as permitted sender) Received: from [209.85.213.176] (HELO mail-yx0-f176.google.com) (209.85.213.176) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Jun 2012 21:39:17 +0000 Received: by yenm14 with SMTP id m14so953863yen.35 for ; Thu, 07 Jun 2012 14:38:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=27oPeCvvWM+zUxFnnQ18K22LZIzZhVWVF39KsLBxsMs=; b=ePmQ1XIZOlORWSnTK2W4S9kt2usTvkxliwcS1cmh62PL9f3805L8+5SGEJ0GfwZDx2 XQP3OczNgrIesebzib9YaXZ8wrO+vaGDb1PzqLRqNvW3D3TjvTBMFWf3wGnPvpMFK7al gGJqWdUewsL2WBaBo6K3hRqBf6v4a0yUr7aQzPBPgl90NCv3XxKYD0/OCgQ7C4a4XPxA v3WtWsRxLcnotI6CkswoKKmLZDQumiT9kH3SwsvB7VhnCshGFWM48cLmMt2Qh+Q3koep uRo4EipbN/bNl1bUre0VwdlhCTRSApJYgmwM8c6I2jkJux6kGujnqBVTzFRrNu64ix00 BfqQ== MIME-Version: 1.0 Received: by 10.60.2.138 with SMTP id 10mr3740944oeu.58.1339105136375; Thu, 07 Jun 2012 14:38:56 -0700 (PDT) Received: by 10.60.96.8 with HTTP; Thu, 7 Jun 2012 14:38:56 -0700 (PDT) In-Reply-To: References: <4FD0A9A8.6020106@uci.cu> Date: Thu, 7 Jun 2012 14:38:56 -0700 Message-ID: Subject: Re: override mapred-site.xml from command line From: Sid Kumar To: mapreduce-user@hadoop.apache.org Content-Type: multipart/related; boundary=e89a8f83ac25f8769004c1e8b593 --e89a8f83ac25f8769004c1e8b593 Content-Type: multipart/alternative; boundary=e89a8f83ac25f8768d04c1e8b592 --e89a8f83ac25f8768d04c1e8b592 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Thanks Marcus and Zhu. I set them explicitly in my program for now. The config approach as suggested by Zhu makes sense and wil try that too. Sid On Thu, Jun 7, 2012 at 7:07 AM, GUOJUN Zhu wrote= : > > 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 propertie= s > with a space between -D and property name, "hadoop --config mymapred.xml > jar {yourjar} {classname} -D mapred.create.symlink=3Dyes .... {your > program arguments}". Hadoop program is somewhat picky when interperate t= he > 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_zhu@freddiemac.com > Financial Engineering > Freddie Mac > > > *Marcos Ortiz * > > 06/07/2012 09:16 AM > Please respond to > mapreduce-user@hadoop.apache.org > > To > mapreduce-user@hadoop.apache.org > cc > Sid Kumar > 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-en= v > perhaps? > > Thanks > Sid > > On Wed, Jun 6, 2012 at 4:06 PM, Sid Kumar <*sqlsid101@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 s= et > 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 <*mayank@apache.org*> > wrote: > Check your mapred site xml if these parameters have true > > making final to false should solve your problem. > > > On Wed, Jun 6, 2012 at 3:41 PM, Sid Kumar <*sqlsid101@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 - > Dmapred.compress.map.output=3Dtrue and > -Dmapred.output.compression.codec=3Dorg.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 tha= t > has the same version of configuration files as my cluster. > > Thanks > > Sid > > > > > > -- > Marcos Luis Ort=EDz Valmaseda > Data Engineer && Sr. System Administrator at UCI > *http://marcosluis2186.posterous.com* > *http://www.linkedin.com/in/marcosluis2186* > Twitter: @marcosluis2186 > > > > --e89a8f83ac25f8768d04c1e8b592 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Thanks Marcus and Zhu. I set them explicitly in my program for now. The con= fig approach as suggested by Zhu makes sense and wil try that too.

=
Sid

On Thu, Jun 7, 2012 at 7:0= 7 AM, GUOJUN Zhu <guojun_zhu@freddiemac.com> wrote:<= br>

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}". =A0Also, I add the extra properties with a space between -D and property name, "hadoop --config mymapred.xml jar {yourj= ar} {classname} -D mapred.create.symlink=3Dyes .... =A0 =A0 {your program arguments}". =A0Hadoop program is somewhat picky when interperate the arguments. =A0In 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-38= 24370
guojun_zhu@f= reddiemac.com
Financial Engineering
Freddie Mac



=A0 =A0Marcos Ort= iz <mlortiz@uci.cu&= gt;

=A0 =A006/07/2012 09:16 AM

=A0 =A0Please re= spond to
mapre= duce-user@hadoop.apache.org

To
mapreduce-user@hadoop.apache.org
cc
Sid Kumar <sqlsid101@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.setBool= ean(mapred.output.compress,true). This works!

But the -D from the command line still doesn't work. Any idea what I ma= y 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 <<= a href=3D"mailto:sqlsid101@gmail.com" target=3D"_blank">sqlsid101@gmail.com> wrote:
Mayank,
I dont have a final tag for that property set. I looked at the mapred-defau= lt.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-manua= l.html

Regards


Sid



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

making final to false should solve your problem.


On Wed, Jun 6, 2012 at 3:41 PM, Sid Kumar <<= a href=3D"mailto:sqlsid101@gmail.com" target=3D"_blank">sqlsid101@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.compre= ss.map.output=3Dtrue and -Dmapred.output.compression.codec=3Dorg.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=EDz Valmaseda
Data Engineer && Sr. System Administrator at UCI
http://marcosluis2186.posterous= .com
http://www.linkedin.com/= in/marcosluis2186
Twitter: @marcosluis2186





--e89a8f83ac25f8768d04c1e8b592-- --e89a8f83ac25f8769004c1e8b593 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-ID: <_1_08B73F7408B73C2C004D9EEF85257A16> X-Attachment-Id: 11113e7345676aa5_0.1 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 --e89a8f83ac25f8769004c1e8b593--