cassandra:如何使用lb连接cassandra群集?

cassandra:如何使用lb连接cassandra群集?,cassandra,Cassandra,我目前正在尝试在我们的生产环境中设置cassandra集群(4个节点,2个种子)。 当我使用逗号分隔的主机名和端口连接时,它工作正常 cluster = HFactory.getOrCreateCluster("Test Cluster", "host1:9160,host2:9160,host3:9160,host4:9160"); 但是当我在连接到IndividualDaul节点的lb处配置集群名称并在Hector thrift client中配置相同名称时。但我得到了下面的答案 clus

我目前正在尝试在我们的生产环境中设置cassandra集群(4个节点,2个种子)。 当我使用逗号分隔的主机名和端口连接时,它工作正常

cluster = HFactory.getOrCreateCluster("Test Cluster", "host1:9160,host2:9160,host3:9160,host4:9160");
但是当我在连接到IndividualDaul节点的lb处配置集群名称并在Hector thrift client中配置相同名称时。但我得到了下面的答案

cluster = HFactory.getOrCreateCluster("Test Cluster", "lbname");
严重:me.prettyprint.hector.api.exceptions.hector异常:所有主机池已标记。重试负担推送到客户端

me.prettyprint.hector.api.exceptions.HectorException: All host pools marked down. Retry burden pushed out to client.
        at me.prettyprint.cassandra.connection.HConnectionManager.getClientFromLBPolicy(HConnectionManager.java:393)
        at me.prettyprint.cassandra.connection.HConnectionManager.operateWithFailover(HConnectionManager.java:249)
        at me.prettyprint.cassandra.service.AbstractCluster.describeKeyspace(AbstractCluster.java:199)
        at com.july.storage.cassandra.util.CassandraDBUtil.getDb(CassandraDBUtil.java:107)
        at com.july.storage.cassandra.util.CassandraDBUtil.hasTable(CassandraDBUtil.java:91)
        at com.july.storage.cassandra.action.CassandraHandler.getCall(CassandraHandler.java:65)
        at com.july.storage.service.StorageService.GET(StorageService.java:58)
        at com.july.storage.cassandra.action.CassandraHandler.main(CassandraHandler.java:571)

不要在Cassandra面前使用负载平衡器。让您的客户端连接到所有节点。负载平衡器只会出现单点故障,并会增加不必要的延迟。

如果我以后想添加更多节点,我需要更改使用群集的每个客户端。还有其他可能性吗?大多数驱动程序都具有自动对等发现功能,因此它们只需要一个种子节点来连接,然后将连接到所有其他节点(或某些节点,具体取决于配置)。对于Hector,请在《用户指南》中向下滚动至“使用节点自动发现”:我使用的是cassandra 1.2.5。集群有4个节点。群集中有两个种子节点。我已启用AutoDiscoveryHosts,并在客户端中使用种子节点创建群集。如果该种子节点已启动,我可以在集群中的所有节点中写入/读取数据。但如果它已关闭,“所有主机池已标记。重试负担已推送到客户端”将抛出。没有进一步的读/写操作发生。(i) 因此,如果启用AutoDiscoveryHosts,则在从客户端创建群集时必须提供所有节点吗?如果您连接的节点已关闭,则没有节点询问群集中的其他节点。