我使用python-cassandra驱动程序,cassandra集群在AWS。 远程连接时有很多警告。有没有人有同样的问题?
导入cassandra 来自cassandra.cluster导入群集 ... 在[3]中:cassandra。版本 出[3]:' 2.5.1'
警告:cassandra.pool:尝试重新连接到172.31.24.108时出错,在128.0秒内安排重试:超时连接到172.31.24.108
答案 0 :(得分:0)
我认为这是因为您无法直接连接到172.31.24.108(专用网络?)。在我的情况下,我只能连接到部分群集节点。 所以我所做的就是关注HostFilterPolicy的文档并创建我自己的过滤器。
from cassandra.policies import HostFilterPolicy, RoundRobinPolicy
CONN_HOSTS = ['172.235.33.32', '172.235.32.155']
whitelist_filter_policy = HostFilterPolicy(
child_policy=RoundRobinPolicy(),
predicate=lambda host: host.address in CONN_HOSTS)
# ...
cluster = Cluster(
contact_points=CONN_HOSTS,
load_balancing_policy=whitelist_filter_policy,
cql_version="3.2.1",
protocol_version=3,
ssl_options=ssl_options,
port=9042,
auth_provider=auth_provider)