I solved it by explicitly setting the property using setProperty method On Thu, Nov 29, 2012 at 4:46 PM, Suraj Varma <[email protected]> wrote:
> The directory where hbase-site.xml is located should be in your client > side classpath. Can you check if this is the case (dump your classpath > right before you call to check if the directory is present). > > Here's the HBaseConfiguration.addHBaseResources code. > > http://javasourcecode.org/html/open-source/hbase/hbase-0.90.3/org/apache/hadoop/hbase/HBaseConfiguration.java.html#line.85 > public static Configuration addHbaseResources(Configuration conf) { > conf.addResource("hbase-default.xml"); > conf.addResource("hbase-site.xml"); > > checkDefaultsVersion(conf); > checkForClusterFreeMemoryLimit(conf); > return conf; > } > > As you can see ... it expects hbase-site.xml to be in the classpath. > > If your file is located in some subdirectory of your classpath base, > you would have to give the full path. Or use getResourceAsStream() to > get it as an InputStream and then use your > Configuration.addResource(InputStream) approach to load it. > > --Suraj > > > On Mon, Nov 26, 2012 at 5:02 PM, Mohit Anchlia <[email protected]> > wrote: > > Thanks! This is the client code I was referring to. The below code > doesn't > > seem to work. Also I tried HBaseConfiguration.addHBaseResrouce and that > > didn't work either. Is there any other way to make it configurable > outside > > the resource? > > > > On Mon, Nov 26, 2012 at 2:39 PM, Stack <[email protected]> wrote: > > > >> On Mon, Nov 26, 2012 at 2:16 PM, Mohit Anchlia <[email protected]> > >> wrote: > >> > I have a need to move hbas-site.xml to an external location. So in > order > >> to > >> > do that I changed my configuration as shown below. But this doesn't > seem > >> to > >> > be working. It picks up the file but I get error, seems like it's > going > >> to > >> > the localhost. I checked hbase-site.xml in the directory and the > >> zookeeper > >> > nodes are correctly listed. > >> > > >> > > >> > [11/26/2012 14:09:31,480] INFO apache.zookeeper.ClientCnxn > >> > > >> > [[web-analytics-ci-1.0.0-SNAPSHOT].AsyncFlow.async2.02-SendThread(localhost.localdomain:2181)](): > >> > Opening socket connection to server localhost.localdomain/ > 127.0.0.1:2181 > >> > > >> > ----- > >> > > >> > changed from > >> > > >> > HBaseConfiguration.create() > >> > > >> > to > >> > > >> > > >> > config = *new* Configuration(); > >> > > >> > config.addResource(*new* Path(*CONF_FILE_PROP_NAME*)); > >> > > >> > *log*.info("Config location picked from:" + prop); > >> > >> > >> The above looks basically right but IIRC, this stuff can be tricky > >> adding in new resources and making sure stuff is applied in order -- > >> and then there is 'final' configs that are applied after yours. > >> > >> You could try copying the hbase conf dir to wherever, amending it to > >> suit your needs and then when starting hbase, add '--config > >> ALTERNATE_CONF_DIR'. > >> > >> St.Ack > >> >
