成功创建火花上下文后,Livy 会话卡在启动

Posted

技术标签:

【中文标题】成功创建火花上下文后,Livy 会话卡在启动【英文标题】:Livy session stuck on starting after successful spark context creation 【发布时间】:2020-06-03 14:37:39 【问题描述】:

我一直在尝试使用在 Ubuntu 18.04 上运行的 Livy 0.7 服务器创建一个新的 spark 会话。 在同一台机器上,我有一个运行中的 spark 集群,有 2 个 worker,我可以创建一个正常的 spark-session。

我的问题是,在向 Livy 服务器运行以下请求后,会话停留在启动状态:

import json, pprint, requests, textwrap
host = 'http://localhost:8998'
data = 'kind': 'spark'
headers = 'Content-Type': 'application/json'
r = requests.post(host + '/sessions', data=json.dumps(data), headers=headers)
r.json()

我可以看到会话正在启动并从会话日志中创建了 spark 会话:

20/06/03 13:52:31 INFO SparkEntries: Spark context finished initialization in 5197ms
20/06/03 13:52:31 INFO SparkEntries: Created Spark session.
20/06/03 13:52:46 INFO CoarseGrainedSchedulerBackend$DriverEndpoint: Registered executor NettyRpcEndpointRef(spark-client://Executor) (xxx.xx.xx.xxx:1828) with ID 0
20/06/03 13:52:47 INFO BlockManagerMasterEndpoint: Registering block manager xxx.xx.xx.xxx:1830 with 434.4 MB RAM, BlockManagerId(0, xxx.xx.xx.xxx, 1830, None)

还有来自 spark master 用户界面:

在到达livy.rsc.server.idle-timeout 之后,会话日志会输出:

20/06/03 14:28:04 WARN RSCDriver: Shutting down RSC due to idle timeout (10m).
20/06/03 14:28:04 INFO SparkUI: Stopped Spark web UI at http://172.17.52.209:4040
20/06/03 14:28:04 INFO StandaloneSchedulerBackend: Shutting down all executors
20/06/03 14:28:04 INFO CoarseGrainedSchedulerBackend$DriverEndpoint: Asking each executor to shut down
20/06/03 14:28:04 INFO MapOutputTrackerMasterEndpoint: MapOutputTrackerMasterEndpoint stopped!
20/06/03 14:28:04 INFO MemoryStore: MemoryStore cleared
20/06/03 14:28:04 INFO BlockManager: BlockManager stopped
20/06/03 14:28:04 INFO BlockManagerMaster: BlockManagerMaster stopped
20/06/03 14:28:04 INFO OutputCommitCoordinator$OutputCommitCoordinatorEndpoint: OutputCommitCoordinator stopped!
20/06/03 14:28:04 INFO SparkContext: Successfully stopped SparkContext
20/06/03 14:28:04 INFO SparkContext: SparkContext already stopped.

然后死了:(

我已经尝试过增加驱动程序超时,但没有发现任何类似的已知问题 我猜这与 spark 驱动程序与 rsc 的连接有关,但我不知道在哪里配置它

有人知道原因/解决方案吗?

【问题讨论】:

【参考方案1】:

我们在其中一个环境中遇到了类似的问题。工作环境和非工作环境之间的唯一区别是 livy.conf 文件中的 spark master 设置。

我从 livy.conf 中删除了配置 livy.spark.master=yarn 并从代码本身设置了这个值。

// pass master as yarn 
public static JavaSparkContext getSparkContext(final String master, final String appName) 

    LOGGER.info("Creating spark context");
    SparkConf conf = new SparkConf().setAppName(appName);
    if (Strings.isNullOrEmpty(master)) 
      LOGGER.warn("No spark master found setting local!!");
      conf.setMaster("local");
     else 
      conf.setMaster(master);
    
    conf.set("spark.submit.deployMode", "client");
    return new JavaSparkContext(conf);
  

这对我有用。

如果有人能指出这对我来说是如何工作的,那将会有所帮助。

【讨论】:

以上是关于成功创建火花上下文后,Livy 会话卡在启动的主要内容,如果未能解决你的问题,请参考以下文章

在 Apache Livy Interpreter for Zeppelin 中访问 zeppelin 上下文的问题

Apache Spark和Livy集群

样条世系在创建火花上下文时失败

发件人应用程序在被杀死后如何恢复会话?

Hivecontext.sql 返回空结果火花

安装centos7遇到问题 引导成功但进不了图形界面 卡在如图。