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

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

步骤 4:配置DSBulk设置

本部分概括介绍了配置 DSBulk Keyspaces。您可以使用配置文件配置 DSBulk。您可以直接从命令行指定配置文件。

  1. 创建 DSBulk 配置文件以迁移到 Amazon Keyspaces,在本示例中,我们使用文件名dsbulk_keyspaces.conf。在 DSBulk 配置文件中指定以下设置。

    1. PlainTextAuthProvider— 使用PlainTextAuthProvider类创建身份验证提供商。 ServiceUserName并且ServicePassword应与您在按照中的步骤生成服务特定凭证时获得的用户名和密码相匹配创建以编程方式访问亚马逊Keyspaces 的证书

    2. local-datacenter— 将的值设置为local-datacenter你Amazon Web Services 区域要连接的。例如,如果应用程序正在连接到cassandra.us-east-2.amazonaws.com,则将本地数据中心设置为us-east-2。有关所有可用信息Amazon Web Services 区域,请参阅Amazon Keyspaces 服务端点。要避免复制副本,请将设置slow-replica-avoidancefalse

    3. SSLEngineFactory— 要配置 SSL/TLS,请SSLEngineFactory通过在配置文件中添加一节来初始化,使用单行指定类别class = DefaultSslEngineFactory。提供先前创建的路径cassandra_truststore.jks和密码。

    4. consistency— 将一致性级别设置为LOCAL QUORUM。不支持其他写入一致性级别,有关更多信息,请参阅支持亚马逊密钥空间中的 Apache Cassandra 一致性级别

    5. 每个池的连接数可在 Java 驱动程序中配置。在本示例中,设置advanced.connection.pool.local.size为 3。

    以下是完整示例配置文件。

    datastax-java-driver { basic.contact-points = [ "cassandra.us-east-2.amazonaws.com:9142"] advanced.auth-provider { class = PlainTextAuthProvider username = "ServiceUserName" password = "ServicePassword" } basic.load-balancing-policy { local-datacenter = "us-east-2" slow-replica-avoidance = false } basic.request { consistency = LOCAL_QUORUM default-idempotence = true } advanced.ssl-engine-factory { class = DefaultSslEngineFactory truststore-path = "./cassandra_truststore.jks" truststore-password = "my_password" hostname-validation = false } advanced.connection.pool.local.size = 3 }
  2. 查看 dsBuload lk 命令的参数。

    1. executor.maxPerSecond— 加载命令每秒尝试同时处理的最大行数。如果未设置,则使用 -1 禁用此设置。

      executor.maxPerSecond根据您配置到目标目标表的 WCU 数量进行设置。load命令executor.maxPerSecond的不是极限,而是目标平均值。这意味着它可以(而且经常如此)突破你设定的数字。要允许突发并确保有足够的容量来处理数据加载请求,请将该表的写入容量设置executor.maxPerSecond为表写入容量的 90%。

      executor.maxPerSecond = WCUs * .90

      在本教程中,我们设置executor.maxPerSecond为 5。

      注意

      如果您使用的是 dsBulk 1.6.0 或更高版本,则可以dsbulk.engine.maxConcurrentQueries改用。

    2. 为 dsBuload lk 命令配置这些附加参数。

      • batch-mode— 此参数告诉系统按分区键对操作进行分组。因为这可能会干扰其他设置,因此我们建议禁用批处理模式。

      • driver.advanced.retry-policy-max-retries— 这决定了重试失败的查询的次数。如果未设置,默认值为 10。您可以根据需要调整该值。

      • driver.basic.request.timeout— 系统等待查询返回的时间(以分钟为单位)。如果未设置,则默认值为 “5 分钟”。您可以根据需要调整该值。