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

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

使用cqlsh连接到亚马逊 Keyspaces

以下部分介绍如何将cqlsh连接到 Amazon Keyspaces(针对 Apache Cassandra)。

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

安装和使用cqlsh连接到 Amazon Keyspaces(针对 Apache Cassandra)

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

注意

为了使cqlsh连接到 Amazon Keyspaces 以进行功能测试、轻操作和迁移,您可以使用预配置的 Docker 容器,其中包括针对 Amazon Keyspaces 优化的所有先决条件和配置设置。该工具包可在GitHub网站.

安装 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. 亚马逊 Keyspaces 支持与 Apache Cassandra 3.11.2 兼容的驱动程序和客户端。当前推荐的版本cqlsh可以从下载阿帕奇.

安装 Cassandra 之后,请验证cqlsh通过运行以下命令安装。

cqlsh --version

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

cqlsh 5.0.1

如果你使用的是 Windows,请替换cqlshcqlsh.bat. 例如,要在 Windows 中检查 cqlsh 版本,请运行以下命令。

cqlsh.bat --version

下载配置文件的模板cqlshrc针对 Amazon Keyspaces 进行优化Github. 保存下载的cqlshrc_template文件为cqlshrc到卡桑德拉目录。

${HOME}/.cassandra/cqlshrc

加密cqlsh使用 TLS 连接

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

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

  1. 使用以下命令下载 Starfield 数字证书并保存sf-class2-root.crt本地或在您的主目录中。

    curl https://certs.secureserver.net/repository/sf-class2-root.crt -O
    注意

    您还可以使用亚马逊数字证书连接到亚马逊 Keyspaces,如果您的客户成功连接到亚马逊 Keyspaces,则可以继续这样做。Starfield 证书为使用旧证书颁发机构的客户提供了额外的向后兼容性。

  2. 使用以下命令 Connect 到 Amazon Keyspaces。

    重要

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

    您还可以通过以下方式管理亚马逊 Keyspaces cqlsh 访问Amazon通过使用 IAM 用户和角色Amazoncqlsh 的身份验证插件扩展。要了解更多信息,请参阅Github 上的 Amazon Keyspaces(针对 Apache Cassandra)开发者工具包.

    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连接

例如,如果要编辑现有配置文件以支持 TLS 连接,请在 Cassandra 主目录中打开配置文件,例如${HOME}/.cassandra/cqlshrc添加以下行。

[connection] port = 9142 factory = cqlshlib.ssl.ssl_transport_factory [ssl] validate = true certfile = path_to_file/sf-class2-root.crt

您可以配置 cqlshCOPY设置以确保cqlsh保持在亚马逊 Keyspaces 内CQL 查询吞吐量调整准则。

修改默认值COPY FROM配置文件中的选项${HOME}/.cassandra/cqlshrc添加以下行。

[copy-from] CHUNKSIZE=50

CHUNKSIZE 的此设置可以很好地开始使用新创建的表,并且应该进行更改以支持更大的工作负载。有关如何优化的更多信息cqlsh COPY亚马逊 Keyspaces 的配置设置,请参阅第 4 步:配置cqlsh COPY FROM设置在数据迁移教程中。