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