Databricks Connect:无法连接到 azure 上的远程集群,命令:“databricks-connect test”停止

Posted

技术标签:

【中文标题】Databricks Connect:无法连接到 azure 上的远程集群,命令:“databricks-connect test”停止【英文标题】:Databricks Connect: can't connect to remote cluster on azure, command: 'databricks-connect test' stops 【发布时间】:2019-10-16 19:01:09 【问题描述】:

我尝试设置 Databricks Connect,以便能够与已在 Azure 上的 Workspace 上运行的远程 Databricks 集群一起工作。 当我尝试运行命令时:'databricks-connect test' 它永远不会结束。

我关注官方documentation。

我安装了最新的 Anaconda 3.7 版。 我创建了本地环境: conda create --name dbconnect python=3.5

我在 5.1 版中安装了“databricks-connect”,它与我在 Azure Databricks 上的集群配置相匹配。

    pip install -U databricks-connect==5.1.*

我已经设置了 'databricks-connect 配置如下:

    (base) C:\>databricks-connect configure
    The current configuration is:
    * Databricks Host: ******.azuredatabricks.net
    * Databricks Token: ************************************
    * Cluster ID: ****-******-*******
    * Org ID: ****************
    * Port: 8787

在上述步骤之后,我尝试为 databricks 连接运行“测试”命令:

    databricks-connect test

因此程序在收到有关 MetricsSystem 的警告后启动和停止,如下所示:

    (dbconnect) C:\>databricks-connect test
    * PySpark is installed at c:\users\miltad\appdata\local\continuum\anaconda3\envs\dbconnect\lib\site-packages\pyspark
    * Checking java version
    java version "1.8.0_181"
    Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
    * Testing scala command
    19/05/31 08:14:26 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
    Setting default log level to "WARN".
    To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
    19/05/31 08:14:34 WARN MetricsSystem: Using default name SparkStatusTracker for source because neither spark.metrics.namespace nor spark.app.id is set. 

我希望该流程应该像官方documentation 中那样进入下一步:

    * Testing scala command
    18/12/10 16:38:44 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
    Setting default log level to "WARN".
    To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
    18/12/10 16:38:50 WARN MetricsSystem: Using default name SparkStatusTracker for source because neither spark.metrics.namespace nor spark.app.id is set.
    18/12/10 16:39:53 WARN SparkServiceRPCClient: Now tracking server state for 5abb7c7e-df8e-4290-947c-c9a38601024e, invalidating prev state
    18/12/10 16:39:59 WARN SparkServiceRPCClient: Syncing 129 files (176036 bytes) took 3003 ms
    Welcome to
          ____              __
         / __/__  ___ _____/ /__
        _\ \/ _ \/ _ `/ __/  '_/
       /___/ .__/\_,_/_/ /_/\_\   version 2.4.0-SNAPSHOT
          /_/

    Using Scala version 2.11.12 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_152)
    Type in expressions to have them evaluated.
    Type :help for more information.

所以我的进程在“WARN MetricsSystem: Using default name SparkStatusTracker”之后停止。

我做错了什么?我应该配置更多东西吗?

【问题讨论】:

这个功能看起来是私人预览版,所以我想知道这是否是导致问题的原因。 @Jon 是的,我确认:该功能处于预览状态,但我在互联网论坛上发现人们使用该功能。我的情况似乎是一些特定于我的配置的技术问题,但我不知道应该检查/修复什么。 哦,有趣。当我今天有机会时,我打算自己尝试一下。我会让你知道它是怎么回事:) 太棒了,请告诉我你是如何处理它的。我只有我公司的笔记本电脑来测试它,所以同时我有很多安全限制。我想知道它在另一种配置上的表现如何。祝乔恩好运。 很多人似乎在 Windows 上的 test 命令中看到了这个问题。但是,如果您尝试使用 Databricks 连接,它可以正常工作。 【参考方案1】:

很多人似乎在 Windows 上的 test 命令中看到了这个问题。但是,如果您尝试使用 Databricks 连接,它可以正常工作。忽略它似乎是安全的。

【讨论】:

【参考方案2】:

运行时 5.3 或更低版本似乎未正式支持此功能。如果更新运行时有限制,我会确保 spark conf 设置如下: spark.databricks.service.server.enabled true 但是,对于较旧的运行时,事情仍然可能很不稳定。我建议使用运行时 5.5 或 6.1 或更高版本来执行此操作。

【讨论】:

以上是关于Databricks Connect:无法连接到 azure 上的远程集群,命令:“databricks-connect test”停止的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 jdbc 和 spark 连接器从 databricks 集群连接到 Azure 数据库 for MySQL 服务器

Databricks-Connect 还返回找不到多个 python 文件作业的模块

启用进程隔离的集群尚不支持 Databricks Connect

使用 databricks-connect 调试运行另一个笔记本的笔记本

Qt Connect 无法连接到插槽

使用服务主体从 DataBricks 连接到 Synapse