Return-Path: X-Original-To: apmail-hadoop-hdfs-user-archive@minotaur.apache.org Delivered-To: apmail-hadoop-hdfs-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 CE37AD7D0 for ; Thu, 28 Jun 2012 07:46:26 +0000 (UTC) Received: (qmail 38982 invoked by uid 500); 28 Jun 2012 07:46:25 -0000 Delivered-To: apmail-hadoop-hdfs-user-archive@hadoop.apache.org Received: (qmail 38804 invoked by uid 500); 28 Jun 2012 07:46:25 -0000 Mailing-List: contact hdfs-user-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hdfs-user@hadoop.apache.org Delivered-To: mailing list hdfs-user@hadoop.apache.org Received: (qmail 38768 invoked by uid 99); 28 Jun 2012 07:46:23 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 28 Jun 2012 07:46:23 +0000 X-ASF-Spam-Status: No, hits=2.5 required=5.0 tests=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 giulio.dippolito@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, 28 Jun 2012 07:46:16 +0000 Received: by mail-yx0-f176.google.com with SMTP id l5so1878735yen.35 for ; Thu, 28 Jun 2012 00:45: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=ELCN79GTzWgrHu97A8x0rz8WqhKEL5U3gx2AnWFdCnI=; b=0MltLRX9bEL0mV42x6JFaizaz2yYXQ+WdmjJnX0XSBtpyFU1J7Glv90UCTXOpERWL/ dmI6PnA+OpPBpkcm61Qd9PkLgcbCKshEI426bOMhMoZVL1R0IDFBqISYXzPRr8/Zi/Wc D35f74WvBMNlbuivCtVHArWkV2JTRGaDT4i7o93Sh5xWFGEtbIcBe/j1Ij8sghxf5mze fHpFbMUvVJIPvfHIOvK+i33JULmplzijjaXR1ehIFJZvy1e/T28aQ+rIGGwadSkMkyaM n/YW84JR6+21Y+LCZJECdQw1pnujAgMp5tEmor7wYrFZoABb3cJb3EZfujlJeL5lXjM0 QwyQ== MIME-Version: 1.0 Received: by 10.236.78.227 with SMTP id g63mr1373490yhe.87.1340869555843; Thu, 28 Jun 2012 00:45:55 -0700 (PDT) Received: by 10.101.69.8 with HTTP; Thu, 28 Jun 2012 00:45:55 -0700 (PDT) In-Reply-To: <029C75A3482BE64594E21FC09BB19F41A3D91B@SN2PRD0710MB359.namprd07.prod.outlook.com> References: <029C75A3482BE64594E21FC09BB19F41A2DC7D@SN2PRD0710MB359.namprd07.prod.outlook.com> <029C75A3482BE64594E21FC09BB19F41A3D91B@SN2PRD0710MB359.namprd07.prod.outlook.com> Date: Thu, 28 Jun 2012 09:45:55 +0200 Message-ID: Subject: Re: Changing where HDFS stores its data From: "Giulio D'Ippolito" To: hdfs-user@hadoop.apache.org Content-Type: multipart/related; boundary=20cf300fb41990f27204c38385c4 --20cf300fb41990f27204c38385c4 Content-Type: multipart/alternative; boundary=20cf300fb41990f27004c38385c3 --20cf300fb41990f27004c38385c3 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable You could manually edit the VERSION file in order to match the datanode and namenodes id's. 2012/6/27 Hank Cohen > [nit] First of all I think that the datanode storage location property > should be simply dfs.data.dir not dfs.datanode.data.dir (this from > src/hdfs/hdfs-default.html)**** > > ** ** > > Both the namenode storage directory and the datanode storage directory ar= e > defined relative to hadoop.tmp.dir so simply changing that directory will > change both of the subdirectories. But this doesn=92t allow me to change > back and forth without errors.**** > > > I get an error when I try to change hadoop.tmp.dir to a directory that > already contains a hadoop file system.**** > > The error is: > 2012-06-27 10:40:44,144 ERROR > org.apache.hadoop.hdfs.server.namenode.NameNode: java.io.IOException: > Unexpected version of the file system log file: -333643776. Current versi= on > =3D -32.**** > > [Does anyone want to see the java stack trace?]**** > > ** ** > > When I look at the VERSION files (hadoop.tmp.dir/dfs/name/current/VERSION= ) > **** > > the only difference I see is that namespaceID is different. I think > namespaceID probably should be different, it is a different file system.*= * > ** > > ** ** > > Thanks for any guidance,**** > > Hank Cohen **** > > ** ** > > ** ** > > *From:* Konstantin Shvachko [mailto:shv.hadoop@gmail.com] > *Sent:* Monday, June 18, 2012 5:12 PM > *To:* hdfs-user@hadoop.apache.org > *Subject:* Re: Changing where HDFS stores its data**** > > ** ** > > In hdfs-site.xml you should specify > dfs.namenode.name.dir > for NameNode stoareg directories or / and > dfs.datanode.data.dir > for DataNode storage > > Changing temporary directory location changes the default for storage > directories. > Which should also work. You might want to check the message the NameNode > loggs when it fails. > > Thanks, > --Konstantin**** > > On Mon, Jun 18, 2012 at 3:47 PM, Hank Cohen wrote= : > **** > > I am trying to do some testing with different storage configurations for > HDFS but I am having difficulty changing the storage destination without > having to re-initialize the whole file system each time I change things.*= * > ** > > **** > > What I want to do: Set up and run some test cases with two different loca= l > file system configurations. Think of it as having different local disks > with different performance characteristics. **** > > > What I have done so far it to change the xml in core-site.xml to change > the hadoop.tmp.dir property. Let=92s call this dir1.**** > > I can set this up and format the file system without any problems, run my > tests, shut down and change core-site.xml again to dir2.**** > > Again I can format dir2 and run my tests OK but when I try to switch back > to dir1 I can=92t get the namenode to start. I find that I have to remov= e > all of the directories and subdirectories from dir1 then reformat and sta= rt > over with nothing in the file system.**** > > **** > > Is there an easy way to do this without having to reinitialize the whole > HDFS each time?**** > > **** > > *Hank Cohen***** > > **** > > +1 732-440-1280 x320 Office**** > > +1 510-995-8264 Direct**** > > **** > > 444 Route 35 South**** > > Building B**** > > Eatontown, NJ 07724 USA**** > > **** > > hank.cohen@altior.com**** > > www.altior.com**** > > **** > > [image: Description: EmailBug]**** > > **** > > ** ** > --20cf300fb41990f27004c38385c3 Content-Type: text/html; charset=windows-1252 Content-Transfer-Encoding: quoted-printable You could manually edit the VERSION file in order to match the datanode and= namenodes id's.

2012/6/27 Hank Cohen= <hank.cohen@altior.com>

[nit] First of all I thin= k that the datanode storage location property should be simply dfs.data.dir= not dfs.datanode.data.dir (this from src/hdfs/hdfs-default.html)=

=A0<= /p>

Both the namenode storage= directory and the datanode storage directory are defined relative to hadoo= p.tmp.dir so simply changing that directory will change both of the subdirectories.=A0 But this doesn=92t allow me to change back = and forth without errors.


I get an error when I try to change hadoop.tmp.dir to a directory that alre= ady contains a hadoop file system.

The error is:
2012-06-27 10:40:44,144 ERROR org.apache.hadoop.hdfs.server.namenode.NameNo= de: java.io.IOException: Unexpected version of the file system log file: -3= 33643776. Current version =3D -32.

[Does anyone want to see = the java stack trace?]

=A0<= /p>

When I look at the VERSIO= N files (hadoop.tmp.dir/dfs/name/current/VERSION)

the only difference I see= is that namespaceID is different.=A0 I think namespaceID probably should b= e different, it is a different file system.

=A0<= /p>

Thanks for any guidance,<= u>

Hank Cohen

=A0<= /p>

=A0<= /p>

From: Konstant= in Shvachko [mailto:shv.hadoop@gmail.com]
Sent: Monday, June 18, 2012 5:12 PM
To: hdfs-user@hadoop.apache.org
Subject: Re: Changing where HDFS stores its data

=A0

In hdfs-site.xml you = should specify
dfs.namenode.name.dir
for NameNode stoareg directories or / and
dfs.datanode.data.dir
for DataNode storage

Changing temporary directory location changes the default for storage direc= tories.
Which should also work. You might want to check the message the NameNode lo= ggs when it fails.

Thanks,
--Konstantin

On Mon, Jun 18, 2012 at 3:47 PM, Hank Cohen <hank.cohen@altior.co= m> wrote:

I am trying to do some testing with different storag= e configurations for HDFS but I am having difficulty changing the storage d= estination without having to re-initialize the whole file system each time I change things.

=A0

What I want to do: Set up and run some test cases wi= th two different local file system configurations.=A0 Think of it as having= different local disks with different performance characteristics.=A0


What I have done so far it to change the xml in core-site.xml to change the= hadoop.tmp.dir property.=A0 Let=92s call this dir1.

I can set this up and format the file system without= any problems, run my tests, shut down and change core-site.xml again to di= r2.

Again I can format dir2 and run my tests OK but when= I try to switch back to dir1 I can=92t get the namenode to start.=A0 I fin= d that I have to remove all of the directories and subdirectories from dir1 then reformat and start over with nothing in the file system.=

=A0

Is there an easy way to do this without having to re= initialize the whole HDFS each time?

=A0

Hank Cohen

=A0

+1 732-440-1280 x320 Office

+1 510-995-8264=A0 Direct

=A0

444 Route 35 South

Building B

Eatontown, NJ 07724 USA

=A0

hank.cohen@altior.com

www.altior.com

=A0

3D"Description:

=A0

=A0


--20cf300fb41990f27004c38385c3-- --20cf300fb41990f27204c38385c4 Content-Type: image/png; name="image001.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: cadb9564c350733_0.1 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 --20cf300fb41990f27204c38385c4--