2016-02-28 89 views
0

我們正在運行到與我們新安裝的CDH 5.5.2簇火花獨立集羣頻繁出錯。我們有7個工作節點,每個節點有16 GB的內存。但是,幾乎所有的連接都失敗了。星火聯接失敗星火工作一直未能進行連接(CDH 5.5.2,1.5.0星火)

我已經確定我完全分配內存--executor內存,並確保它已分配的內存量,並在星火UI進行驗證。

我們大多數的錯誤是如下。我們從我們這邊檢查了一些東西。但是我們的解決方案都沒有奏效。

Caused by: java.io.FileNotFoundException: /tmp/spark-b9e69c8d-153b-4c4b-88b1-ac779c060de5/executor-44e88b75-5e79-4d96-b507-ddabcab30e1b/blockmgr-cd27625c-8716-49ac-903d-9d5c36cf2622/29/shuffle_1_66_0.index (Permission denied) 
at java.io.FileInputStream.open(Native Method) 
at java.io.FileInputStream.<init>(FileInputStream.java:146) 
at org.apache.spark.network.shuffle.ExternalShuffleBlockResolver.getSortBasedShuffleBlockData(ExternalShuffleBlockResolver.java:275) 
... 27 more 
at org.apache.spark.network.client.TransportResponseHandler.handle(TransportResponseHandler.java:162) 
at org.apache.spark.network.server.TransportChannelHandler.channelRead0(TransportChannelHandler.java:103) 
at org.apache.spark.network.server.TransportChannelHandler.channelRead0(TransportChannelHandler.java:51) 
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) 
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308) 
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294) 
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:266) 
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308) 
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294) 
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) 
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308) 
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294) 
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:244) 
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308) 
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294) 
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846) 
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131) 
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511) 
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) 
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) 
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) 
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111) 
... 1 more 
  1. /tmp中有777個權限,但它仍然告訴AS/tmp目錄沒有permssions。

  2. 我們已經配置SPARK_LOCAL_DIRS的地方,我們有更好的磁盤存儲一些其他的文件夾中,但仍羣集正在使用的/ tmp,爲什麼?我們通過Cloudera管理器更改了它,並在spark中的spark配置中打印了spark.local.dirs,它給出了我們設置的文件夾。但是,當涉及到執行時,這是另一種方式。它正在檢查/ tmp中的文件。我們在這裏錯過了什麼?

  3. 我們已經關閉火花紗,做的紗影響獨立的任何配置?

有沒有人遇到過這個問題?爲什麼這會再次發生在我們身上?我們與霍頓工程有類似的集羣,我們在那裏安裝了裸機的火花(這不是分配的一部分),工作得很好。但是,在我們的新集羣中,我們正面臨着這個問題。可能是我們可能錯過了一些東西。?但很想知道我們錯過了什麼。

+0

你對所有節點上的/ tmp相同的權限?理想情況下,您可能希望創建具有適當權限的特定於火花的臨時目錄。 – Ravindra

+0

嗨Ravindra,在我們有權限的所有節點上。我已經設置爲使用其他文件夾,但爲什麼它寫入/ tmp。我已經驗證了spark中的所有配置屬性,甚至在spark工作web ui中,local.dirs顯示爲我設置的文件夾。它是如何寫入/ tmp的? – Srini

+0

非常需要的Java TMP目錄,引發當地迪爾斯,兩人都設定爲我們的選擇,而不是/ tmp目錄的文件夾。我已經調試幾乎每一個角落,真的厭倦了.. – Srini

回答

0

我解決這個問題上禁用了Cloudera管理器這個屬性:

spark.shuffle.service.enabled

spark.dynamicAllocation.enabled

真 - >假

0

這項工作我的

所有節點上

須藤CHMOD -R 0777/TMP 須藤使用chmod + T/TMP

具有平行-SSH

須藤平行-SSH -h HOSTS.TXT -l的ubuntu --timeout = 0「須藤CHMOD -R 0777/tmp目錄」

須藤平行SSH -h HOSTS.TXT -l Ubuntu的--timeout = 0 '須藤使用chmod + T/tmp目錄'