【问题标题】:Jupyter Notebook error while using PySpark Kernel: the code failed because of a fatal error: Error sending http request使用 PySpark 内核时出现 Jupyter Notebook 错误:代码因致命错误而失败:发送 http 请求时出错
【发布时间】:2020-02-07 19:05:24
【问题描述】:

我并使用 jupyter notebook 的 PySpark 内核,我已成功选择 PySpark 内核,但我不断收到以下错误

代码因致命错误而失败: 发送 http 请求时出错,遇到最大重试次数.. 可以尝试的一些事情:

a) 确保 Spark 有足够的可用资源供 Jupyter 创建 Spark 上下文。

b) 联系您的 Jupyter 管理员以确保 Spark 魔法库配置正确。

c) 重启内核。

这也是日志

2019-10-10 13:37:43,741 DEBUG   SparkMagics Initialized spark magics.
2019-10-10 13:37:43,742 INFO    EventsHandler   InstanceId: 32a21583-6879-4ad5-88bf-e07af0b09387,EventName: notebookLoaded,Timestamp: 2019-10-10 10:37:43.742475
2019-10-10 13:37:43,744 DEBUG   python_jupyter_kernel   Loaded magics.
2019-10-10 13:37:43,744 DEBUG   python_jupyter_kernel   Changed language.
2019-10-10 13:37:44,356 DEBUG   python_jupyter_kernel   Registered auto viz.
2019-10-10 13:37:45,440 INFO    EventsHandler   InstanceId: 32a21583-6879-4ad5-88bf-e07af0b09387,EventName: notebookSessionCreationStart,Timestamp: 2019-10-10 10:37:45.440323,SessionGuid: d230b1f3-6bb1-4a66-bde1-7a73a14d7939,LivyKind: pyspark
2019-10-10 13:37:49,591 ERROR   ReliableHttpClient  Request to 'http://localhost:8998/sessions' failed with 'HTTPConnectionPool(host='localhost', port=8998): Max retries exceeded with url: /sessions (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000013184159808>: Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it'))'
2019-10-10 13:37:49,591 INFO    EventsHandler   InstanceId: 32a21583-6879-4ad5-88bf-e07af0b09387,EventName: notebookSessionCreationEnd,Timestamp: 2019-10-10 10:37:49.591650,SessionGuid: d230b1f3-6bb1-4a66-bde1-7a73a14d7939,LivyKind: pyspark,SessionId: -1,Status: not_started,Success: False,ExceptionType: HttpClientException,ExceptionMessage: Error sending http request and maximum retry encountered.
2019-10-10 13:37:49,591 ERROR   SparkMagics Error creating session: Error sending http request and maximum retry encountered.

请注意,我正在尝试在 Windows 上进行配置。 非常感谢

【问题讨论】:

    标签: windows apache-spark pyspark jupyter-notebook anaconda


    【解决方案1】:

    我遇到了同样的问题,您可以通过不使用 PySpark 内核(笔记本)而是使用 Python 3 内核(笔记本)来解决它。我使用以下代码设置 Spark 集群:

    import pyspark # only run after findspark.init()
    from pyspark.sql import SparkSession
    # May take awhile locally
    spark = SparkSession.builder.appName("test").getOrCreate()
    spark
    

    【讨论】:

    • 哇,及时的回答,这只是为我解决了这个问题。这是黑客吗? 应该我们可以使用 PySpark 内核吗?
    • 好问题,我很快在网上查了一下,但我没有看到很多其他人面临同样的问题。我想大多数人只是在使用 Python 内核。
    • 这个答案很好,我浪费了 3 个小时。你的回答节省了我一整天的时间。
    【解决方案2】:

    如果您尝试通过 Livy(例如 AWS Glue 开发端点)将 Jupyter Notebook 连接到 Spark 服务器,则必须将“localhost”替换为以下中的 Spark 服务器 IP 地址:~/.sparkmagic/config.json

    正如这里提到的: https://aws.amazon.com/blogs/machine-learning/build-amazon-sagemaker-notebooks-backed-by-spark-in-amazon-emr/

    【讨论】:

    • 即使按照上面的链接,我也遇到了类似的问题。
    【解决方案3】:

    在下面发布答案,因为它可能有助于在将 sagemaker notebook 与 Glue Dev Endpoint 一起使用时遇到此问题的人。

    我在 PySpark 内核笔记本中收到了相同的错误消息。在我的情况下,问题是缺少附加到笔记本实例的生命周期配置,该配置以某种方式被删除。我每天都删除并重新创建开发端点,但它的生命周期配置通常仍附加到笔记本。

    【讨论】:

      猜你喜欢
      • 2018-07-06
      • 1970-01-01
      • 1970-01-01
      • 2020-03-06
      • 1970-01-01
      • 2021-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多