我有一个有10个节点的Spark集群,我第一次使用Spark上下文后会得到这个异常:
14/11/20 11:15:13 ERROR UserGroupinformation: PriviledgedActionException as:iuberdata (auth:SIMPLE) cause:java.util.concurrent.TimeoutException: Futures timed out after [120 seconds] Exception in thread "main" java.lang.reflect.UndeclaredThrowableException: UnkNown exception in doAs at org.apache.hadoop.security.UserGroupinformation.doAs(UserGroupinformation.java:1421) at org.apache.spark.deploy.SparkHadoopUtil.runAssparkUser(SparkHadoopUtil.scala:52) at org.apache.spark.executor.CoarseGrainedExecutorBackend$.run(CoarseGrainedExecutorBackend.scala:113) at org.apache.spark.executor.CoarseGrainedExecutorBackend$.main(CoarseGrainedExecutorBackend.scala:156) at org.apache.spark.executor.CoarseGrainedExecutorBackend.main(CoarseGrainedExecutorBackend.scala) Caused by: java.security.PrivilegedActionException: java.util.concurrent.TimeoutException: Futures timed out after [120 seconds] at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupinformation.doAs(UserGroupinformation.java:1408) ... 4 more
这个guy有一个类似的问题,但我已经尝试过他的解决方案,没有工作.
同样的例外也发生在here,但问题不在这里,因为我使用火花版本1.1.0在主或从和客户端.
我尝试将超时时间延长到120秒,但仍然无法解决问题.
我通过脚本来混合环境,我正在使用context.addJar将我的代码包含到类路径中.
这个问题是间歇性的,我不知道如何跟踪为什么会发生这种情况.任何人在配置火花簇时都知道如何解决这个问题?
解决方法
我们有一个类似的问题,很难调试和隔离.长故事短 – Spark使用Akka,这对于解析为IP地址的FQDN主机名非常挑剔.即使您在所有地方指定了IP地址,这还不够.答案
here帮助我们隔离问题.
运行一个有用的测试是运行netcat -l< port>在主机上运行nc -vz< host> <端口>对工作人员进行连接测试.使用IP地址和FQDN运行测试.您可以从下面的日志片段中获取Spark从WARN消息中使用的名称.对我们来说是host032s4.staging.companynameremoved.info.我们传递的IP地址测试和FQDN测试失败,因为我们的DNS设置不正确.
INFO 2015-07-24 10:33:45 Remoting: Remoting started; listening on addresses :[akka.tcp://driverPropsFetcher@10.40.246.168:35455] INFO 2015-07-24 10:33:45 Remoting: Remoting Now listens on addresses: [akka.tcp://driverPropsFetcher@10.40.246.168:35455] INFO 2015-07-24 10:33:45 org.apache.spark.util.Utils: Successfully started service 'driverPropsFetcher' on port 35455. WARN 2015-07-24 10:33:45 Remoting: Tried to associate with unreachable remote address [akka.tcp://sparkDriver@host032s4.staging.companynameremoved.info:50855]. Address is Now gated for 60000 ms,all messages to this address will be delivered to dead letters. ERROR 2015-07-24 10:34:15 org.apache.hadoop.security.UserGroupinformation: PriviledgedActionException as:skumar cause:java.util.concurrent.TimeoutException: Futures timed out after [30 seconds]
我们必须做的另一件事是在spark提交脚本中指定spark.driver.host和spark.driver.port属性.这是因为我们有两台IP地址的机器,并且FQDN解决了错误的IP地址.
确保您的网络和DNS条目正确!