步骤 3:创建应用程序配置文件 - Amazon Keyspaces (for Apache Cassandra)
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

步骤 3:创建应用程序配置文件

要将开源 Spark Cassandra Connector 与亚马逊 Keyspaces 配合使用,您需要提供一个应用程序配置文件,其中包含连接所需的设置DataStaxJava 驱动程序。您可以使用特定服务凭证或 Sigv4 插件进行连接。

如果您尚未这样做,则需要将 Starfield 数字证书转换为 TrustStore 文件。您可以按照以下详细步骤操作开始前的准备工作来自 Java 驱动程序连接教程。记下 TrustStore 文件路径和密码,因为在创建应用程序配置文件时需要这些信息。

使用 Sigv4 身份验证进行连接

本节向您展示了一个示例application.conf连接时可以使用的文件Amazon凭证和 Sigv4 插件。如果您尚未生成 IAM 访问密钥(访问密钥 ID 和私有访问密钥)并将其保存在您的中Amazon配置文件或作为环境变量。有关详细说明,请参阅Cassandra 客户端Amazon CLI驱动程序、Amazon SDK 或 Amazon Keyspaces Sigv4 插件所需的证书

在以下示例中,替换 TrustStore 文件的文件路径,然后替换密码。

datastax-java-driver { basic.contact-points = ["cassandra.us-east-1.amazonaws.com:9142"] basic.load-balancing-policy { class = DefaultLoadBalancingPolicy local-datacenter = us-east-1 slow-replica-avoidance = false } basic.request { consistency = LOCAL_QUORUM } advanced { auth-provider = { class = software.aws.mcs.auth.SigV4AuthProvider aws-region = us-east-1 } ssl-engine-factory { class = DefaultSslEngineFactory truststore-path = "path_to_file/cassandra_truststore.jks" truststore-password = "password" hostname-validation=false } } advanced.connection.pool.local.size = 3 }

更新此配置文件并将其另存为/home/user1/application.conf。以下示例使用此路径。

使用特定服务凭证进行连接

本节向您展示了一个示例application.conf在使用服务特定证书进行连接时可以使用的文件。如果您尚未这样做,则需要为 Amazon Keyspaces 生成服务专用证书。有关详细说明,请参阅生成特定服务证书

在以下示例中,替换usernamepassword用你自己的证书。此外,替换 TrustStore 文件的文件路径,然后替换密码。

datastax-java-driver { basic.contact-points = ["cassandra.us-east-1.amazonaws.com:9142"] basic.load-balancing-policy { class = DefaultLoadBalancingPolicy local-datacenter = us-east-1 } basic.request { consistency = LOCAL_QUORUM } advanced { auth-provider = { class = PlainTextAuthProvider username = "username" password = "password" aws-region = "us-east-1" } ssl-engine-factory { class = DefaultSslEngineFactory truststore-path = "path_to_file/cassandra_truststore.jks" truststore-password = "password" hostname-validation=false } metadata = { schema { token-map.enabled = true } } } }

更新此配置文件并将其另存为/home/user1/application.conf与代码示例一起使用。

以固定费率连接

要强制每个 Spark 执行器使用固定速率,可以定义请求限制器。此请求限制器限制了每秒的请求速率。Spark Cassandra Connector 为每个执行者部署一个 Cassandra 会话。使用以下公式可以帮助您实现与表相比的一致吞吐量。

max-request-per-second * numberOfExecutors = total throughput against a table

您可以将此示例添加到之前创建的应用程序配置文件中。

datastax-java-driver { advanced.throttler { class = RateLimitingRequestThrottler max-requests-per-second = 3000 max-queue-size = 30000 drain-interval = 1 millisecond } }