对会话错误进行故障排除 - Amazon Athena

对会话错误进行故障排除

使用本节中的信息对会话问题进行故障排除。

如果在会话启动期间出现自定义配置错误,Athena for Spark 控制台将显示一个错误消息横幅。要对会话启动错误进行故障排除,您可以检查会话状态更改或日志记录信息。

查看会话状态更改信息

您可以从 Athena 笔记本编辑器或 Athena API 中获取有关会话状态更改的详细信息。

在 Athena 控制台中查看会话状态信息
  1. 在 Athena 笔记本编辑器中,从右上角的会话菜单中选择查看详细信息

  2. 查看当前会话选项卡。会话信息部分显示会话 ID、工作组、状态和状态更改原因等信息。

    以下屏幕截图示例显示了会话信息对话框的状态更改原因部分中 Athena 中 Spark 会话错误的信息。

    在 Athena for Spark 控制台中查看会话状态更改信息。
使用 Athena API 查看会话状态信息
  • 在 Athena API 中,可在 SessionStatus 对象的 StateChangeReason 字段中查找会话状态更改信息。

注意

在您手动停止会话之后,或者如果会话在空闲超时(默认值为 20 分钟)后停止,StateChangeReason 值将更改为会话已按请求终止

使用日志记录对会话启动错误进行故障排除

Amazon CloudWatch 会记录会话启动期间发生的自定义配置错误。在 CloudWatch Logs 中,搜索 AthenaSparkSessionErrorLogger 中的错误消息,以对会话启动失败进行故障排除。

有关 Spark 记录的更多信息,请参阅记录 Athena 中的 Spark 应用程序事件

有关在 Athena for Spark 中对会话进行故障排除的更多信息,请参阅 对会话错误进行故障排除

特定会话问题

使用本节中的信息对部分特定会话问题进行故障排除。

如果您收到错误消息 Session in unhealthy state. Please create a new session(会话运行状况不佳,请创建新会话),请终止现有会话并创建一个新会话。

打开笔记本后,可能显示以下错误消息:

A connection to the notebook server could not be established. The notebook will continue trying to reconnect. Check your network connection or notebook server configuration.

原因

当 Athena 打开笔记本后,Athena 会创建会话并使用预签名的笔记本 URL 连接到笔记本。与笔记本的连接使用 WSS(WebSocket Secure)协议。

出现错误的可能原因如下:

  • 本地防火墙(例如公司防火墙)正在阻止 WSS 流量。

  • 本地计算机上的代理或防病毒软件正在阻止 WSS 连接。

解决方案

假设您在 us-east-1 区域中有 WSS 连接,如下所示:

wss://94c2bcdf-66f9-4d17-9da6-7e7338060183.analytics-gateway.us-east-1.amazonaws.com/ api/kernels/33c78c82-b8d2-4631-bd22-1565dc6ec152/channels?session_id= 7f96a3a048ab4917b6376895ea8d7535

要解决错误,请使用以下策略之一。

  • 使用通配符模式语法允许列出各个 AWS 区域 和 AWS 账户 中端口 443 上的 WSS 流量。

    wss://*amazonaws.com
  • 使用通配符模式语法允许列出某个 AWS 区域 中端口 443 上和您指定的 AWS 区域 各个 AWS 账户 中的 WSS 流量。下面的示例使用了 us-east-1

    wss://*analytics-gateway.us-east-1.amazonaws.com