2012-12-11 43 views
0

我在80節點的本地hadoop羣集上運行的Map Reduce作業中看到以下異常。這個堆棧跟蹤沒有指向我的代碼,我想這可能與某些權限問題有關。一個有趣的事情是,如果我將它作爲系統帳戶運行,那麼這項工作就會失敗。如果我把它作爲自己來運行,那麼作業運行得很好。由於豬MR作業中的權限問題導致的EOFException

java.lang.RuntimeException: java.io.EOFException 
    at org.apache.hadoop.io.WritableComparator.compare(WritableComparator.java:103) 
    at org.apache.hadoop.mapreduce.ReduceContext.nextKeyValue(ReduceContext.java:120) 
    at org.apache.hadoop.mapreduce.ReduceContext.nextKey(ReduceContext.java:92) 
    at org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:175) 
    at org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:649) 
    at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:417) 
    at org.apache.hadoop.mapred.Child$4.run(Child.java:255) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at javax.security.auth.Subject.doAs(Subject.java:396) 
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1093) 
    at org.apache.hadoop.mapred.Child.main(Child.java:249) 
Caused by: java.io.EOFException 
    at java.io.DataInputStream.readByte(DataInputStream.java:250) 
    at org.apache.pig.impl.io.PigNullableWritable.readFields(PigNullableWritable.java:115) 
    at org.apache.hadoop.io.WritableComparator.compare(WritableComparator.java:100) 
    ... 10 more 

這裏的任何幫助表示讚賞。讓我知道你是否需要更多信息。

+0

什麼是你試圖'存儲'輸出的目錄的權限? –

+0

@shaurya在我看來,可能存在一些反序列化問題。 首先我會檢查失敗用戶是否不使用另一個 Hadoop/Pig配置/版本。 –

+0

謝謝洛蘭德。這似乎是這種情況,並解決了這個問題。 – shaurya

回答

0

這很奇怪,但權限不是這裏的問題。對於兩個用戶來說,拾取的hadoop配置是不同的。我解決了這個問題,現在似乎正在開展工作。謝謝