使用 cqlsh 连接到 Amazon Keyspaces - Amazon Keyspaces(针对 Apache Cassandra)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

使用 cqlsh 连接到 Amazon Keyspaces

以下部分介绍如何使用 cqlsh 连接到 Amazon Keyspaces (for Apache Cassandra) 首先,您必须获取 Starfield 数字证书才能使用传输层安全性 (TLS) 加密您的连接。

有关 cqlsh 的信息,请参阅 cqlsh:CQL shell.

安装并使用 cqlsh 连接到 Amazon 密钥空间(适用于 Apache Cassandra)

要安装和使用 cqlsh,必须执行以下操作:

注意

要建立 cqlsh 与 Amazon Keyspaces 的连接以进行功能测试、照明操作和迁移,您可以使用预配置的 Docker 容器,其中包括针对 Amazon Keyspaces 优化的所有先决条件和配置设置,并且可从 https://github.com/aws-samples/amazon-keyspaces-toolkit 获得。

安装 Python 2.7

要确定计算机上是否安装了 Python 以及安装了哪个版本,请运行以下操作。

python --version

如果您安装了 Python 2.7,则输出类似于以下内容。

Python 2.7.16

如果您需要安装 Python 2.7,请按照 Python 下载.中的说明进行操作。

安装和配置 CQL 客户端

Cqlsh 与 Apache Cassandra 捆绑在一起。要得到它,请按照下载和安装 Apache Cassandra. 中的说明安装 Apache Cassandra。Amazon Keyspaces 支持与 Apache Cassandra 3.11.2 兼容的驱动程序和客户端。

安装 Cassandra 后,运行以下命令验证是否已安装 cqlsh。

cqlsh --version

输出应该类似于以下内容。

cqlsh 5.0.1

使用 TLS 对 cqlsh 连接加密

Amazon Keyspaces 仅接受使用传输层安全性 (TLS) 的安全连接。

在使用 SSL/TLS 进行连接之前,您必须执行以下操作:

  1. 使用以下命令下载 Starfield 数字证书并将其保存到 path_to_file/.cassandra 目录中。

    curl https://certs.secureserver.net/repository/sf-class2-root.crt -O
  2. 创建或编辑配置文件 path_to_file/.cassandra/cqlshrc 并添加以下行。

    重要

    当您启动 cqlsh 实用程序时,它会在您的 path_to_file/.cassandra 目录中查找名为 cqlshrc 的文件。 您必须修改 cqlshrc 文件,以便 cqlsh 可以使用 TLS 连接到 Amazon Keyspaces。

    [connection] port = 9142 factory = cqlshlib.ssl.ssl_transport_factory [ssl] validate = true certfile = path_to_file/.cassandra/sf-class2-root.crt
  3. 使用以下命令连接到 Amazon Keyspaces。

    重要

    ServiceUserNameServicePassword 应与您按照生成服务特定凭证.中的步骤生成服务特定凭证时获得的用户名和密码相匹配。

    cqlsh host 9142 -u ServiceUserName -p ServicePassword --ssl

    请注意,9142 是安全端口。

    以下是示例。

    cqlsh cassandra.us-east-2.amazonaws.com 9142 -u "alice-at-111122223333" -p "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" --ssl

    连接后,输出将类似于以下内容。当前支持的 Apache Cassandra 版本为 3.11.2。

    Connected to Amazon Keyspaces at cassandra.us-east-2.amazonaws.com:9142. [cqlsh 5.0.1 | Cassandra 3.11.2 | CQL spec 3.4.4 | Native protocol v4] Use HELP for help. alice-at-111122223333@cqlsh>

cqlsh 连接的最佳实践

您可以配置 cqlsh COPY 设置以确保 cqlsh 遵守 Amazon Keyspaces CQL 查询吞吐量调整 准则。

修改配置文件 path_to_file/.cassandra/cqlshrc 中 COPY FROM 选项的默认值,并添加以下行。

[copy-from] CHUNKSIZE=50

CHUNKSIZE 的此设置可以很好地开始使用新创建的表,并且应该进行更改以支持更大的工作负载。有关如何优化 Amazon Keyspaces 的配置设置的更多信息,请参阅 AWS 数据库博客上的使用 cqlsh 将数据加载到 Amazon Keyspaces