本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
步骤 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 生成服务专用证书。有关详细说明,请参阅生成特定服务证书。
在以下示例中,替换username
和password
用你自己的证书。此外,替换 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 } }