python cassandra驱动程序:尝试重新连接时出错

时间:2015-06-02 16:56:31

标签: cassandra

我使用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

1 个答案:

答案 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)