用perl连接aws管理的cassandra

hjzp0vay  于 2021-06-13  发布在  Cassandra
关注(0)|答案(1)|浏览(529)

我正在尝试使用perl连接到aws管理的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` 并验证了连接详细信息是否正确。
任何提示或示例都会非常有用。
iqih9akk

iqih9akk1#

问题似乎是设置键空间。在连接上或随后使用 use keyspace 结果是 Error 0: Internal Server Error 来自服务器的响应。
还要注意,aws管理的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 在查询中。

相关问题