排查计算问题
本文提供的资源可在需要对工作区中计算行为进行故障排除的事件中使用。 本文中的主题与计算启动问题相关。
有关其他故障排除文章,请参阅:
新计算未响应或“计算平面网络配置错误”事件日志错误
问题:成功部署工作区后,第一个测试计算不响应。 大约 20-30 分钟后,如果检查计算事件日志,会看到如下所示的错误消息:
The compute plane network is misconfigured. Please verify that the network for your compute plane is configured correctly. Error message: Node daemon ping timeout in 600000 ms …
原因:上一条错误消息指示路由或防火墙错误。 Azure Databricks 请求 VM 实例进行新计算,但在等待 VM 实例启动并连接到控制平面时遇到了较长的延迟。 计算管理器终止实例并报告此错误。
推荐的修复:网络配置必须允许计算节点实例成功连接到 Databricks 控制平面。 要获得比使用计算更快的故障排除技术,可以将 VM 实例部署到工作区子网之一,并执行典型的网络故障排除步骤,例如 nc
、ping
、telnet
或 traceroute
。
请参阅 Azure Databricks 控制平面地址,了解按区域划分的访问域、IP 和中继 CNAME。 对于项目存储,请确保 Azure Blob 存储具有成功的网络路径。
以下示例使用 Azure 区域chinaeast2
:
# Verify access to the web application
nc -zv 40.118.174.12 443
nc -zv 20.42.129.160 443
# Verify access to the secure compute connectivity relay
nc -zv tunnel.chinaeast2.databricks.azure.cn 443
# Verify Artifact Blob storage access
nc -zv dbartifactsprodchinaeast2.blob.core.chinacloudapi.cn 443
nc -zv arprodchinaeast2a1.blob.core.chinacloudapi.cn 443
..
nc -zv arprodchinaeast2a15.blob.core.chinacloudapi.cn 443
nc -zv dbartifactsprodchinaeast2.blob.core.chinacloudapi.cn 443
# Verify Metastore Database access
nc -zv consolidated-chinaeast2-prod-metastore.mysql.database.chinacloudapi.cn 3306
nc -zv consolidated-chinaeast2-prod-metastore-addl-1.mysql.database.chinacloudapi.cn 3306
nc -zv consolidated-chinaeast2-prod-metastore-addl-2.mysql.database.chinacloudapi.cn 3306
nc -zv consolidated-chinaeast2-prod-metastore-addl-3.mysql.database.chinacloudapi.cn 3306
nc -zv consolidated-chinaeast2c2-prod-metastore-addl-1.mysql.database.chinacloudapi.cn 3306
# Verify Log Blob storage access
nc -zv dblogprodchinaeast2.blob.core.chinacloudapi.cn 443
如果前面的命令正确返回,网络路径可能已正确配置,但如果使用的是防火墙,可能存在另一个问题。 防火墙可能具有深度包检测、SSL 检查或其他导致 Azure Databricks 命令失败的内容。 在 Azure Databricks 子网中使用 VM 实例,运行以下命令,将<token>
替换为个人访问令牌,并将<workspace-url>
替换为工作区的 URL:
curl -X GET -H 'Authorization: Bearer <token>' [https://](https://)<workspace-url>/api/2.0/clusters/spark-versions
如果上一个请求失败,请使用-k
选项再次运行该命令以删除 SSL 验证。 如果此操作有效,防火墙会导致 SSL 证书出现问题。
运行以下命令以查看 SSL 证书,将<workspace-url>
替换为工作区的 URL:
openssl s_client -showcerts -connect <workspace-url>:443
上一个命令显示返回代码和 Azure Databricks 证书。 如果返回错误,防火墙配置可能错误。
请注意,SSL 问题不是网络层问题。 查看防火墙上的流量不会显示这些 SSL 问题。 查看源请求和目标请求按预期工作。
使用元存储或计算事件日志(包括 METASTORE_DOWN 事件)时出现问题
问题:工作区似乎已设置,可以设置计算,但计算事件日志中有 METASTORE_DOWN
事件,或者元存储似乎不起作用。
推荐的修复:确认是否使用 Squid 代理等 Web 应用程序防火墙 (WAF)。 计算成员必须连接到无法通过 WAF 工作的多个服务。