Apache Cassandra 连接

Apache Cassandra 连接类型允许连接到 Apache Cassandra

默认连接 ID

Cassandra hook 和 Cassandra 操作符默认使用 cassandra_default

配置连接

主机(必需)

要连接的主机。可以指定多个主机,用逗号分隔。

模式(必需)

要在数据库中使用的模式(键空间)名称。

登录名(必需)

要连接的用户名。

密码(必需)

要连接的密码。

端口(必需)

要连接的端口。

额外(可选)

可以在 Cassandra 连接中使用的额外参数(以 JSON 字典形式)。支持以下标准 Python 参数之外的参数

  • load_balancing_policy - 此参数指定要使用的负载均衡策略。有四种可用的策略:RoundRobinPolicyDCAwareRoundRobinPolicyWhiteListRoundRobinPolicyTokenAwarePolicyRoundRobinPolicy 是默认的负载均衡策略。

  • load_balancing_policy_args - 此参数指定正在使用的负载均衡策略的参数。

  • cql_version - 此参数指定 Cassandra 的 CQL 版本。

  • protocol_version - 此参数指定要使用的本机协议的最大版本。

  • ssl_options - 如果在 Cassandra 中启用了 SSL,则此参数指定与 SSL 相关的详细信息。

Extra 字段的示例

  1. 指定 ssl_options

如果在 Cassandra 中启用了 SSL,请在 extra 字段中传入一个字典,作为 ssl.wrap_socket() 的 kwargs。 例如

{
  "ssl_options": {
    "ca_certs": "PATH/TO/CA_CERTS"
  }
}
  1. 指定 load_balancing_policyload_balancing_policy_args

默认的负载均衡策略是 RoundRobinPolicy。以下是一些指定不同 LB 策略的示例

DCAwareRoundRobinPolicy

{
  "load_balancing_policy": "DCAwareRoundRobinPolicy",
  "load_balancing_policy_args": {
    "local_dc": "LOCAL_DC_NAME",
    "used_hosts_per_remote_dc": "SOME_INT_VALUE"
  }
}

WhiteListRoundRobinPolicy

{
  "load_balancing_policy": "WhiteListRoundRobinPolicy",
  "load_balancing_policy_args": {
    "hosts": ["HOST1", "HOST2", "HOST3"]
  }
}

TokenAwarePolicy

{
  "load_balancing_policy": "TokenAwarePolicy",
  "load_balancing_policy_args": {
    "child_load_balancing_policy": "CHILD_POLICY_NAME",
    "child_load_balancing_policy_args": {}
  }
}

此条目是否有帮助?