Thanks all. I had a typo in core-site.xml path. It works now. It would be better if conf.addResource throws an exception like FileNotFoundException when it is not able to find the xml file specified.
I like idea of setting HADOOP_CONF_DIR. I will try that too. Regards, Anand.C -----Original Message----- From: Mohammad Tariq [mailto:[email protected]] Sent: Thursday, August 09, 2012 2:04 PM To: [email protected] Subject: Re: Question on adding Hadoop XML to Configuration Object Also, Hadoop jars must be in the classpath when you run the app from command line or as a jar. Regards, Mohammad Tariq On Thu, Aug 9, 2012 at 2:02 PM, Mohammad Tariq <[email protected]> wrote: > Try this and let me know if it works, > > Configuration conf = new Configuration(); > conf.addResource(new > Path("YOUR_HADOOP_HOME/conf/core-site.xml")); > conf.addResource(new > Path("YOUR_HADOOP_HOME/conf/hdfs-site.xml")); > FileSystem fs = FileSystem.get(conf); > Regards, > Mohammad Tariq > > > On Thu, Aug 9, 2012 at 1:58 PM, Chandra Mohan, Ananda Vel Murugan > <[email protected]> wrote: >> Hi, >> >> I have added other xml files too. But the issue is configuration object is >> not getting updated with the xml conents. >> >> When I add >> >> System.out.println(configuration.get("fs.default.name")); >> >> I am not getting my hdfs url which I have in core-site.xml. When I run my >> code in eclipse, it works. But when I make it as a runnable jar file, it >> outputs file:/// >> >> Regards, >> Anand.C >> >> -----Original Message----- >> From: Mohammad Tariq [mailto:[email protected]] >> Sent: Thursday, August 09, 2012 1:28 PM >> To: [email protected] >> Subject: Re: Question on adding Hadoop XML to Configuration Object >> >> Hello there, >> >> Add the "conf/core-site.xml" file as well. >> >> Regards, >> Mohammad Tariq >> >> >> On Thu, Aug 9, 2012 at 12:37 PM, Chandra Mohan, Ananda Vel Murugan >> <[email protected]> wrote: >>> Hi, >>> >>> >>> >>> I am trying to add a file to HDFS programmatically. >>> >>> >>> >>> In my code, I am adding hdfs-site.xml and other xml to Hadoop Configuration >>> object as follows >>> >>> >>> >>> Configuration configuration = null; >>> >>> configuration.addResource(new >>> URL("file:///usr/local/hadoop-1.0.2/conf/hdfs-site.xml")); >>> >>> configuration.addResource(new >>> Path("usr/local/hadoop-1.0.2/conf/hdfs-site.xml")); >>> >>> configuration.reloadConfiguration(); >>> >>> fileSystem = FileSystem.get(configuration); >>> >>> System.out.println(fileSystem.getName()); >>> >>> >>> >>> This code prints file system as file:/// instead of hdfs://. >>> >>> >>> >>> When I manually set HDFS configuration parameter like below, it works well >>> >>> >>> >>> //configuration.set("fs.default.name", "hdfs://10.78.32.252:54310"); >>> >>> >>> >>> How can I make my code work? Any inputs would be greatly appreciated. >>> >>> >>> >>> Regards, >>> >>> Anand.C >>> >>> >>> >>>
