

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 排除将 Spark Cassandra Connector 与 Amazon Keyspaces 配合使用时的常见错误
<a name="spark-tutorial-step6"></a>

如果您在使用 Amazon Virtual Private Cloud 并连接到 Amazon Keyspaces，则在使用 Spark 连接器时遇到的最常见的错误往往由以下配置问题引起。
+ VPC 中使用的 IAM 用户或角色缺少访问 Amazon Keyspaces 中的 `system.peers` 表所需的权限。有关更多信息，请参阅 [使用接口 VPC 端点信息填充 `system.peers` 表条目](vpc-endpoints.md#system_peers)。
+ IAM 用户或角色缺乏所需的用户表 read/write 权限，也缺乏对 Amazon Keyspaces 中系统表的读取权限。有关更多信息，请参阅 [第 1 步：配置 Amazon Keyspaces 以便与 Apache Cassandra Spark Connector 集成](spark-tutorial-step1.md)。
+ 创建 SSL/TLS 连接时，Java 驱动程序配置没有禁用主机名验证。有关示例，请参阅 [步骤 2：配置驱动程序](using_java_driver.md#java_tutorial.driverconfiguration)。

有关详细的链接故障排除步骤，请参阅[我的 VPC 端点连接无法正常工作](troubleshooting.connecting.md#troubleshooting.connection.vpce)。

此外，您还可以使用亚马逊 CloudWatch 指标来帮助您解决亚马逊密钥空间中 Spark Cassandra Connector 配置的问题。要了解有关将 Amazon Keyspaces 与配合使用的更多信息 CloudWatch，请参阅。[使用亚马逊监控亚马逊密钥空间 CloudWatch](monitoring-cloudwatch.md)

以下部分介绍了在使用 Spark Cassandra Connector 时需要观察的最有用的指标。

**PerConnectionRequestRateExceeded**  
Amazon Keyspaces 的配额为每个连接每秒 3000 个请求。每个 Spark 执行程序都会与 Amazon Keyspaces 建立连接。多次重试可能会耗尽每个连接的请求速率配额。如果您超过此配额，Amazon Keyspaces 将发布一个`PerConnectionRequestRateExceeded`指标。 CloudWatch  
如果您看到 PerConnectionRequestRateExceeded 事件以及其他系统或用户错误，则可能是 Spark 正在运行多次重试，超出每个连接分配的请求数。  
如果您看到 `PerConnectionRequestRateExceeded` 事件但没有看到其他错误，则您可能需要增加驱动程序设置中的连接数以提高吞吐量，或者可能需要增加 Spark 作业中的执行程序数量。

**StoragePartitionThroughputCapacityExceeded**  
Amazon Keyspaces 的每个分区的配额为 1,000 WCUs 或 WRUs 每秒/3,000 RCUs 或 RRUs 每秒。如果您看到`StoragePartitionThroughputCapacityExceeded` CloudWatch 事件，则可能表明数据在加载时没有随机化。有关如何随机处理数据的示例，请参阅[步骤 4：在 Amazon Keyspaces 中准备源数据和目标表](spark-tutorial-step4.md)。

## 常见错误和警告
<a name="common_errors_warnings"></a>

如果您在使用 Amazon Virtual Private Cloud 并连接到 Amazon Keyspaces，则 Cassandra 驱动程序可能会在 `system.peers` 表中发出有关控制节点本身的警告消息。有关更多信息，请参阅 [常见错误和警告](vpc-endpoints.md#vpc_troubleshooting)。您可以放心地忽略这一警告。