本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
如果您在使用 Amazon Virtual Private Cloud 并连接到 Amazon Keyspaces,则在使用 Spark 连接器时遇到的最常见的错误往往由以下配置问题引起。
VPC 中使用的 IAM 用户或角色缺少访问 Amazon Keyspaces 中的
system.peers
表所需的权限。有关更多信息,请参阅 使用接口 VPC 端点信息填充 system.peers 表条目。IAM 用户或角色缺少对用户表的读/写权限,也缺少对 Amazon Keyspaces 中的系统表的读取权限。有关更多信息,请参阅 第 1 步:配置 Amazon Keyspaces 以便与 Apache Cassandra Spark Connector 集成。
创建 SSL/TLS 连接时,Java 驱动程序配置没有禁用主机名验证。有关示例,请参阅步骤 2:配置驱动程序。
有关详细的链接故障排除步骤,请参阅我的VPC端点连接无法正常工作。
此外,您可以使用 Amazon CloudWatch 指标来帮助您解决 Amazon Keyspaces 中的 Spark Cassandra Connector 配置问题。要了解有关将 Amazon Keyspaces 与 CloudWatch 结合使用的更多信息,请参阅使用亚马逊监控亚马逊密钥空间 CloudWatch。
以下部分介绍了在使用 Spark Cassandra Connector 时需要观察的最有用的指标。
- PerConnectionRequestRateExceeded
-
Amazon Keyspaces 的配额为每个连接每秒 3000 个请求。每个 Spark 执行程序都会与 Amazon Keyspaces 建立连接。多次重试可能会耗尽每个连接的请求速率配额。如果您超出此配额,Amazon Keyspaces 会在 CloudWatch 中发布一个
PerConnectionRequestRateExceeded
指标。如果您看到 PerConnectionRequestRateExceeded 事件以及其他系统或用户错误,则很可能是 Spark 在进行多次重试,超出了每个连接分配的请求数。
如果您看到
PerConnectionRequestRateExceeded
事件但没有看到其他错误,则您可能需要增加驱动程序设置中的连接数以提高吞吐量,或者可能需要增加 Spark 作业中的执行程序数量。 - StoragePartitionThroughputCapacityExceeded
-
Amazon Keyspaces 的配额为每秒 1000 个 WCU 或 WRU /每个分区每秒 3000 个 RCU 或 RRU。如果您看到
StoragePartitionThroughputCapacityExceeded
CloudWatch 事件,则可能表明加载的数据没有经过随机化处理。有关如何随机处理数据的示例,请参阅步骤 4:在 Amazon Keyspaces 中准备源数据和目标表。
常见错误和警告
如果您在使用 Amazon Virtual Private Cloud 并连接到 Amazon Keyspaces,则 Cassandra 驱动程序可能会在 system.peers
表中发出有关控制节点本身的警告消息。有关更多信息,请参阅 常见错误和警告。您可以放心地忽略这一警告。