Thanks for the suggestions. I had tried out by specifying only the ips instead of hostnames, but now I modified the /etc/hosts file as suggested below, appropriately. Still no success.
If I use IPs instead of hostnames I get the below error in the hive cli. *2011-05-24 14:42:53,485 ERROR ql.Driver (SessionState.java:printError(343)) - FAILED: Hive Internal Error: java.lang.RuntimeException(Error while making MR scratch directory - check filesystem config (null)) java.lang.RuntimeException: Error while making MR scratch directory - check filesystem config (null) at org.apache.hadoop.hive.ql.Context.getMRScratchDir(Context.java:196) at org.apache.hadoop.hive.ql.Context.getMRTmpFileURI(Context.java:247) at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:900) at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:6594) at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:238) at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:340) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:736) at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:164) at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:241) at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:456) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.hadoop.util.RunJar.main(RunJar.java:156) Caused by: java.lang.IllegalArgumentException: Wrong FS: hdfs:// 192.168.0.18:9000/tmp/hive-hadoop/hive_2011-05-24_14-42-53_287_7078843136333133329, expected: hdfs://<myHostName>:9000 at org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:310) at org.apache.hadoop.hdfs.DistributedFileSystem.checkPath(DistributedFileSystem.java:99) at org.apache.hadoop.fs.FileSystem.makeQualified(FileSystem.java:222) at org.apache.hadoop.hdfs.DistributedFileSystem.makeQualified(DistributedFileSystem.java:116) at org.apache.hadoop.hive.ql.Context.getScratchDir(Context.java:146) at org.apache.hadoop.hive.ql.Context.getMRScratchDir(Context.java:190) ... 14 more* Thanks. On Tue, May 24, 2011 at 2:01 PM, Eric Djatsa <djatsa...@gmail.com> wrote: > Hi, I had similar problems when I was setting up my hadoop cluster. The > Datanodes where trying to access localhost instead of my namenode. > To fix this issue I modified my /etc/hosts file on all my nodes (namenode + > datanodes) in such a way that the first line corresponds to the binding <IP > address-->hostname>. > > For example on my namenode I have : > /etc/hosts : > 192.168.0.1 mynamenode.mydomain.com mynamenode > 127.0.0.1 localhost > > On my datanodes I have : > 192.168.0.X mydatanodeX.mydomain.com mydatanodeX > 127.0.0.1 localhost > > If this does'nt work in first place, try secifying the namenode in > core-site.xml on all datanodes with it's IP address rather than it's > hostname. > > Hope this helps ! > Regards > Eric > > > > 2011/5/24 MIS <misapa...@gmail.com> > >> I have the configuration consistent across both the client and server >> sides. I have checked the hadoop logs on both the nodes. On both the nodes, >> in the tasktracker logs, every task attempt is directed towards >> hdfs://localhost:54310/user/hive/warehouse and not towards >> hdfs://<myHostName>:54310/user/hive/warehouse. >> >> Further, I have given the absolute path for the property >> hive.metastore.warehouse.dir as >> hdfs://<myHostName>:54310:/user/hive/warehouse in the file hive-site.xml >> >> Also, if I change the port number for fs.default.name across all the >> locations, the change is visible, but still the hostname comes as localhost. >> >> As mentioned earlier, If i give the server running namenode an alias in >> the /etc/hosts file as localhost, on all the nodes, every thing works fine. >> But obviously I can't go ahead with this. >> >> Thanks. >> >> >> On Tue, May 24, 2011 at 1:50 AM, Ning Zhang <nzh...@fb.com> wrote: >> >>> AFAIK, the fs.default.name should be set by both the client and server >>> side .xml files, and they should be consistent (the URI scheme, the hostname >>> and port number). The server side config (also called fs.default.name) >>> should be read by the namenode and the client side is read by any HDFS >>> clients (Hive is one of them). >>> >>> For example, the setting we have is: >>> >>> server side core-site-custom.xml: >>> >>> <property> >>> <name>fs.default.name</name> >>> <value>*hdfs://hostname:9000*</value> >>> <description>The name of the default file system. A URI whose >>> scheme and authority determine the FileSystem implementation. The >>> uri's scheme determines the config property (fs.SCHEME.impl) naming >>> the FileSystem implementation class. The uri's authority is used to >>> determine the host, port, etc. for a filesystem.</description> >>> </property> >>> >>> client side core-site.xml: >>> >>> <property> >>> <name>fs.default.name</name> >>> <value>*hdfs://hostname:9000*</value> >>> <description>The name of the default file system. A URI whose >>> scheme and authority determine the FileSystem implementation. The >>> uri's scheme determines the config property (fs.SCHEME.impl) naming >>> the FileSystem implementation class. The uri's authority is used to >>> determine the host, port, etc. for a filesystem.</description> >>> </property> >>> >>> From the stack trace it seems Hive is trying to connect to port 54310, >>> which you should check if it is correct from your server side HDFS config. >>> >>> >>> On May 23, 2011, at 4:00 AM, MIS wrote: >>> >>> I have already tried your suggestion. I have mentioned the same in my >>> mail. >>> I have also given the required permissions for the directory >>> (hive.metastore.warehouse.dir). >>> >>> If you look closely at the stack trace , the port number that I have >>> specified in the config files for the namenode and jobtracker is reflected >>> but not the hostname. I have also gone through the code base to verify the >>> issue. But nothing fishy there. >>> The stand-alone hadoop cluster is working fine, but when I try to run a >>> simple query a select , to fetch a few rows, hive throws up the exception. >>> >>> I was able to get this to work with a few hacks though, like adding >>> localhost as alias in the /etc/hosts file for the server running the >>> namenode. But I can't go ahead with this solution, as it'll break other >>> things. >>> >>> Thanks. >>> >>> >>> On Mon, May 23, 2011 at 4:14 PM, jinhang du <dujinh...@gmail.com> wrote: >>> >>>> Set the follow property in hive.site.xml. >>>> fs.default.name = hdfs:<your namenode of hadoop> >>>> mapred.job.tracker = <your job tracker:port> >>>> hive.metastore.warehouse.dir = <hdfs path> >>>> Make sure you have the authority to write into this directory >>>> (hive.metastore.warehouse.dir). >>>> Try it. >>>> >>>> >>>> 2011/5/23 MIS <misapa...@gmail.com> >>>> >>>>> I'm getting into an issue when trying to run hive over the hadoop >>>>> cluster. >>>>> >>>>> The hadoop cluster is working fine, in a stand alone manner. >>>>> I'm using hadoop 0.20.2 and hive 0.7.0 versions. >>>>> >>>>> The problem is that the hive is not considering the >>>>> fs.default.nameproperty that I am setting in the core-site.xml or the >>>>> mapred.job.tracker in >>>>> the mapred-site.xml files. >>>>> It always considers that namenode can be accessed at localhost (refer >>>>> to the stack trace below) >>>>> So I have specified these properties in the hive-site.xml file as well. >>>>> I tried making them as final in the hive-site.xml file, but didn't get the >>>>> intended result. >>>>> Further, I set the above properties through command line as well. >>>>> Again, no success. >>>>> >>>>> I looked at the hive code for 0.7.0 branch to debug the issue, to see >>>>> if it getting fs.default.name property from the file hive-site.xml, >>>>> which it does through clone of the JobConf. So no issues here. >>>>> >>>>> Further, in hive-site.xml, if I make any of the properties as final, >>>>> then hive gives me a WARNING log. as below : >>>>> >>>>> *WARN conf.Configuration (Configuration.java:loadResource(1154)) - >>>>> file:/usr/local/hive-0.7.0/conf/hive-site.xml:a attempt to override final >>>>> parameter: hive.metastore.warehouse.dir; Ignoring.* >>>>> >>>>> From the above message I can assume that it has already read the >>>>> property(don't know from where, or it may be trying to read the property >>>>> multiple times), but I have explicitly specified the hive conf folder in >>>>> the >>>>> hive-env.sh. >>>>> >>>>> Below is the stack trace I'm getting in the log file: >>>>> *2011-05-23 15:11:00,793 ERROR CliDriver >>>>> (SessionState.java:printError(343)) - Failed with exception >>>>> java.io.IOException:java.net.ConnectException: Call to localhost/ >>>>> 127.0.0.1:54310 failed on connection exception: >>>>> java.net.ConnectException: Connection refused >>>>> java.io.IOException: java.net.ConnectException: Call to localhost/ >>>>> 127.0.0.1:54310 failed on connection exception: >>>>> java.net.ConnectException: Connection refused >>>>> at >>>>> org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:341) >>>>> at >>>>> org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:133) >>>>> at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:1114) >>>>> at >>>>> org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:187) >>>>> at >>>>> org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:241) >>>>> at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:456) >>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>> at >>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>>>> at >>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>>>> at java.lang.reflect.Method.invoke(Method.java:597) >>>>> at org.apache.hadoop.util.RunJar.main(RunJar.java:156) >>>>> Caused by: java.net.ConnectException: Call to localhost/ >>>>> 127.0.0.1:54310 failed on connection exception: >>>>> java.net.ConnectException: Connection refused >>>>> at org.apache.hadoop.ipc.Client.wrapException(Client.java:767) >>>>> at org.apache.hadoop.ipc.Client.call(Client.java:743) >>>>> at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:220) >>>>> at $Proxy4.getProtocolVersion(Unknown Source) >>>>> at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:359) >>>>> at >>>>> org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:106) >>>>> at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:207) >>>>> at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:170) >>>>> at >>>>> org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:82) >>>>> at >>>>> org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1378) >>>>> at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:66) >>>>> at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1390) >>>>> at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:196) >>>>> at org.apache.hadoop.fs.Path.getFileSystem(Path.java:175) >>>>> at >>>>> org.apache.hadoop.hive.ql.exec.FetchOperator.getNextPath(FetchOperator.java:241) >>>>> at >>>>> org.apache.hadoop.hive.ql.exec.FetchOperator.getRecordReader(FetchOperator.java:259) >>>>> at >>>>> org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:320) >>>>> ... 10 more >>>>> Caused by: java.net.ConnectException: Connection refused >>>>> at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) >>>>> at >>>>> sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) >>>>> at >>>>> org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206) >>>>> at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:404) >>>>> at >>>>> org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:304) >>>>> at >>>>> org.apache.hadoop.ipc.Client$Connection.access$1700(Client.java:176) >>>>> at org.apache.hadoop.ipc.Client.getConnection(Client.java:860) >>>>> at org.apache.hadoop.ipc.Client.call(Client.java:720) >>>>> ... 25 more >>>>> * >>>>> Has anybody encountered similar issues earlier ? any thoughts towards >>>>> resolving the above issue would be helpful >>>>> >>>>> Thanks. >>>>> >>>> >>>> >>>> >>>> -- >>>> dujinhang >>>> >>> >>> >>> >> >