Apache Cassandra 連線

Apache Cassandra 連線型別可以連線到 Apache Cassandra

預設連線 ID

Cassandra hook 和 Cassandra operator 預設使用 cassandra_default

配置連線

主機 (必需)

要連線的主機。可以透過逗號分隔列表指定多個主機。

Schema (必需)

在資料庫中使用的 Schema (keyspace) 名稱。

登入 (必需)

用於連線的使用者名稱。

密碼 (必需)

用於連線的密碼。

埠 (必需)

用於連線的埠。

Extra (可選)

可在 Cassandra 連線中使用的額外引數(以 JSON 字典形式)。支援以下非標準 Python 引數的額外引數:

  • load_balancing_policy - 此引數指定要使用的負載均衡策略。有四種可用的策略:RoundRobinPolicyDCAwareRoundRobinPolicyAllowListRoundRobinPolicyTokenAwarePolicyRoundRobinPolicy 是預設的負載均衡策略。

  • load_balancing_policy_args - 此引數指定正在使用的負載均衡策略的引數。

  • cql_version - 此引數指定 Cassandra 的 CQL 版本。

  • protocol_version - 此引數指定要使用的本機協議的最大版本。

  • ssl_options - 此引數指定與 SSL 相關的詳細資訊,如果 Cassandra 中啟用了 SSL。

Extra 欄位示例

  1. 指定 ssl_options

如果在 Cassandra 中啟用了 SSL,可在 Extra 欄位中傳遞一個字典作為 ssl.wrap_socket() 的關鍵字引數。例如

{
  "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"
  }
}

AllowListRoundRobinPolicy

{
  "load_balancing_policy": "AllowListRoundRobinPolicy",
  "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": {}
  }
}

此條目是否有幫助?