【问题标题】:Connecting to AWS Managed Cassandra with Perl使用 Perl 连接到 AWS Managed Cassandra
【发布时间】:2020-08-06 09:50:47
【问题描述】:

我正在尝试使用 Perl 连接到 AWS Managed Cassandra。由于模糊错误Error 0: Internal Server Error,它无法正常工作。

使用 DBD::Cassandra 库,我可以连接到自托管的 Cassandra 集群,但不能连接到 AWS Cassandra。我认为我的 AWS 根 CA 是正确的,因为它使用 openssl s_client -connect cassandra.us-east-1.amazonaws.com:9142 进行验证

DBI->connect("dbi:Cassandra:host=cassandra.us-east-1.amazonaws.com;port=9142;tls=1;keyspace=keyspace",
 "**username**", "**password**");

来自连接的错误响应是

Unable to connect to any Cassandra server. 
  Last error: On cassandra.us-east-1.amazonaws.com: 
  Error 0: Internal Server Error

我也可以使用cqlsh 客户端进行连接,并验证连接详细信息是否正确。

任何提示或工作示例都会非常有帮助。

【问题讨论】:

    标签: perl cassandra amazon-keyspaces


    【解决方案1】:

    问题似乎是设置键空间。在连接上或随后使用use keyspace 执行此操作会导致来自服务器的Error 0: Internal Server Error 响应。

    另请注意,AWS Managed Cassandra 仅支持一致性 local_quorum。以下将导致有效的连接:

    DBI->connect("dbi:Cassandra:host=cassandra.us-east-1.amazonaws.com;
       port=9142;tls=1;consistency=local_quorum",
       "**username**", "**password**");
    

    由于设置键空间存在问题,因此必须在查询中使用 keyspace.tablename 引用表。

    【讨论】:

      猜你喜欢
      • 2020-06-06
      • 2020-09-13
      • 2020-11-22
      • 2017-11-10
      • 2018-09-22
      • 2020-08-08
      • 2015-05-21
      • 2020-04-23
      • 2015-05-19
      相关资源
      最近更新 更多