2016-02-28 58 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目录'