On Fri, Sep 23, 2011 at 11:52 AM, <ivan.nov...@emc.com> wrote:
> Hi Harsh, > > On 9/22/11 8:48 PM, "Harsh J" <ha...@cloudera.com> wrote: > > >Ivan, > > > >Writing your own program was overkill. > > > >The 'yes' coreutil is pretty silly, but nifty at the same time. It > >accepts an argument, which it would repeat infinitely. > > > >So: > > > >$ yes Y | hadoop namenode -format > > > >Would do it for you. > > Nice! I read the man page for yes too quickly and did not see that > option. Thanks! > > > >(Note that in the future release, saner answers will be acceptable, > >i.e. y instead of strictly Y, etc.) > > Y/y/yes/YES would all seem like good things to accept :) > > > >Also, two other things: > > > >- What do you mean by 'Yeah I have a secondary namenode as well so 2 > >directories.'? A secondary namenode uses different directories than > >dfs.name.dir. > > Which parameter are you referring to? I am planning on using 2 directories > in dfs.name.dir, one is local and the other is an NFS mount of a 2nd > machine running the secondary namenode. > > > >- The prompt only appears when it detects a 'reformat' being happening > >- which is very dangerous to do non-interactively. If you do the > >-format the first time, on clean dfs.name.dir setups, you will never > >receive a prompt. > > Yeah I am creating some automation, so it needs to be able to wipe out an > existing filesystem and start over...... > > > Cheers, > Ivan > > > > > > > You might want to try expect scripting. You open a stream to the process and then can wait for prompts and print replies. expect also has this feature autoexpect which is a shell that records the streams and turns your teminal interaction into an expect script.