2012-05-18 15 views
8

'dan döndürüyorum HiveQL. CONDITIONAL QUERIES uygulamasında sorun yaşıyorum. Temel select * from tablename bildirimi düzgün çalışıyor. hatadır:Yürütme Hatası, kod 1'i org.apache.hadoop.hive.ql.exec.MapRedTask

Total MapReduce jobs = 1 
Launching Job 1 out of 1 
Number of reduce tasks determined at compile time: 1 
In order to change the average load for a reducer (in bytes): 
    set hive.exec.reducers.bytes.per.reducer=<number> 
In order to limit the maximum number of reducers: 
    set hive.exec.reducers.max=<number> 
In order to set a constant number of reducers: 
    set mapred.reduce.tasks=<number> 
java.net.ConnectException: Call to /0.0.0.0:8021 failed on connection exception: java.net.ConnectException: Connection refused 
     at org.apache.hadoop.ipc.Client.wrapException(Client.java:1134) 
     at org.apache.hadoop.ipc.Client.call(Client.java:1110) 
     at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:226) 
     at org.apache.hadoop.mapred.$Proxy5.getProtocolVersion(Unknown Source) 
     at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:398) 
     at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:384) 
     at org.apache.hadoop.mapred.JobClient.createRPCProxy(JobClient.java:501) 
     at org.apache.hadoop.mapred.JobClient.init(JobClient.java:486) 
     at org.apache.hadoop.mapred.JobClient.<init>(JobClient.java:469) 
     at org.apache.hadoop.hive.ql.exec.ExecDriver.execute(ExecDriver.java:655) 
     at org.apache.hadoop.hive.ql.exec.MapRedTask.execute(MapRedTask.java:123) 
     at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:130) 
     at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57) 
     at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1063) 
     at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:900) 
     at org.apache.hadoop.hive.ql.Driver.run(Driver.java:748) 
     at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:209) 
     at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:286) 
     at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:516) 
     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:186) 
Caused by: java.net.ConnectException: Connection refused 
     at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
     at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:574) 
     at org.apache.hadoop.net.SocketIOWithTimeout.connect(
.... 
Job Submission failed with exception 'java.net.ConnectException(Call to /0.0.0.0:8021 failed on connection exception: java.net.ConnectException: Connection refused)' 
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MapRedTask 

I çıkışı aynı Eclipse IDE ve kovan kabuk nery hem çalıştık. Lütfen yardım et!

Çoğu durumda
+2

Şimdi bir çözüm var mı? Ben de aynı sorunla karşılaşıyorum. – learninghuman

+0

Bu web uygulamasını faydalı bulabilirsin. http://sql.treasuredata.com –

cevap

3

, bu hata kovan komutunu çalıştırarak Kovan kullanıcı/kullanıcıya erişim haklarına sahip olmayan bir izin sorunu,/kaynaklanır

Sen Hadoop Hive yapılandırmasını kontrol etmek isteyeceksiniz

küme

1

Hive2 ile HiveQL kullanırken redüktör sayısını belirtme şeklini değiştirmeniz gerektiğini fark ettim. Hive1 ben kullandım:

SET mapreduce.job.reduces=1 

Ben aynı hata mesajı vardı ve bu değişen benim için sorun çözüldü:
SET mapred.reduce.tasks=1 

Ancak Hive2 üzerinde ben kullanmak gerekir fark etmiş.

6

Bu özellik, varsayılan olarak true olarak ayarlanacağı için sorununuzu çözmelidir.

set hive.auto.convert.join.noconditionaltask=false 

hive.auto.convert.join.noconditionaltask - İster Hive ortak dönüştürme hakkında optimizasyonunu etkinleştirmek girdi dosyası boyutuna göre mapjoin içine katılır.

bu paramatresi verildi ve n-1 tabloları için boyutu toplamı n/a yön bölmeler birleştirme doğrudan mapjoin dönüştürülür birleştirme , belirtilen boyutta daha küçük ise,

(vardır koşullu görev).

0

VirtualBox kullanarak bir cloudera hızlı başlangıç ​​görüntüsüne sahibim.

sudo vi /etc/hive/conf/hive-site.xml sorununu düzeltmek için aşağıdakileri yapmak zorunda kaldım ve hive.auto.convert.join özelliğini false olarak ayarladım (düzenlemek için root'a ihtiyacınız var ve dolayısıyla sudo).

Hive-site.xml.xml dosyasında hive.auto.convert.join.noconditionaltask özelliği yoktu.

İlgili konular