My cluster went corrupt-mode. I wiped it and deleted the Hive metastore and started over. In the process, I did a "yum upgrade" which probably took me from CDH3b4 to CDH3u0. Now everytime I submit a Hive query of complexity requiring a map/reduce job*, I get this error:
2011-05-06 18:39:14,533 Stage-1 map = 100%, reduce = 100% Ended Job = job_201104081532_0509 with errors java.lang.RuntimeException: Error while reading from task log url at org.apache.hadoop.hive.ql.exec.errors.TaskLogProcessor.getErrors(TaskLogProcessor.java:130) at org.apache.hadoop.hive.ql.exec.ExecDriver.showJobFailDebugInfo(ExecDriver.java:889) at org.apache.hadoop.hive.ql.exec.ExecDriver.execute(ExecDriver.java:680) at org.apache.hadoop.hive.ql.exec.MapRedTask.execute(MapRedTask.java:123) .....[snip]..... 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:186) Caused by: java.io.IOException: Server returned HTTP response code: 400 for URL: http://hadooptest3:50060/tasklog?taskid=attempt_201104081532_0509_m_000002_2&all=true at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1436) at java.net.URL.openStream(URL.java:1010) at org.apache.hadoop.hive.ql.exec.errors.TaskLogProcessor.getErrors(TaskLogProcessor.java:120) ... 16 more Ended Job = job_201104081532_0509 with exception 'java.lang.RuntimeException(Error while reading from task log url)' FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MapRedTask It seems to me the key point in here is this: Server returned HTTP response code: 400 for URL: http://hadooptest3:50060/tasklog?taskid=attempt_201104081532_0509_m_000002_2&all=true So I submitted that URL to my web browser, which said: Problem accessing /tasklog. Reason: Argument attemptid is required Does anyone have clues what this means? -- Tim Ellis Riot Games * That is to say, simple queries like "select * from table limit 10" return results just fine.