【发布时间】:2021-06-26 20:16:57
【问题描述】:
我有一个带有 Centos 8 的 AWS EC2 实例。
在这个实例中,我已经成功安装了 Cassandra (3.11.10) 数据库。
在这个数据库中,我已经通过这个 CQL 查询成功地创建了键空间:
create keyspace if not exists dev_keyspace with replication={'class': 'SimpleStrategy', 'replication_factor' : 2};
然后我编辑了配置文件 (/etc/cassandra/default.conf/cassandra.yaml):
cluster_name: "DevCluster"
seeds: <ec2_private_ip_address>
listen_address: <ec2_private_ip_address>
start_rpc: true
rpc_address: 0.0.0.0
broadcast_rpc_address: <ec2_private_ip_address>
endpoint_snitch: Ec2Snitch
之后,重启数据库:
Datacenter: eu-central
======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN <ec2_private_ip_address> 75.71 KiB 256 100.0% XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 1a
当我尝试使用此类凭据连接到 Cassandra 数据库时,它会引发错误:
host: <ec2_public_ip_address>
port: 9042
keyspace: dev_keyspace
username: cassandra (default)
password: cassandra (default)
错误:
尝试查询的所有主机都失败(尝试: /
:9042 (com.datastax.driver.core.exceptions.TransportException: [/ :9042] 无法连接))
我忘了配置什么?如果您需要更多信息,请告诉我。
【问题讨论】:
-
您是否尝试从其他实例进行连接?您是否配置了安全组以允许连接?
-
我尝试从本地计算机通过
DBeaver或DataGrip等软件应用程序连接到数据库。事实上,我有Security Group的标准设置。Type:SSH,Protocol:TCP;Port range:22;Source:0.0.0.0/0。在official documentation 中,有几个示例说明关系数据库应采用哪些设置。我需要在 Cassandra 数据库的安全组部分进行哪些设置? -
好吧,我把
Security Group的Inbound Rules改了。我打开了port range(0 - 65535)。之后,我能够连接到 Cassandra 数据库。打开所有端口可能并不安全。
标签: amazon-web-services amazon-ec2 cassandra nosql