无法使用Datastax PHP驱动程序连接到远程Cassandra群集


Unable to connect to remote Cassandra Cluster using Datastax PHP Driver

我目前正在创建一个API,该API使用具有3个节点的Cassandra集群来存储数据。我在我的本地机器上使用PHP 5.6.7、Cassandra 2.2.3和Datastax PHP Driver 1.1.0开发它,一切都很顺利。

然而,我们决定转移到远程Cassandra集群(3.4,本机协议4),由于出现以下错误,我无法通过PHP访问它:出现错误:16777226-没有主机可用于控制连接。

有趣的是,使用远程集群的ip和DevCenter,我设法连接到该集群,创建一个新的密钥空间(SimpleStrategy,RF:2),创建一张新表并添加一行数据。

生成PHP代码的错误如下:

$cluster = 'Cassandra::cluster() ->withContactPoints('x.x.x.x') ->build(); $keyspace = 'foo'; $session = $cluster->connect($keyspace);

最后一行是产生错误的那一行。然而,如果我尝试使用$cluster = 'Cassandra::cluster()->build();连接到本地cassandra集群,那么它就像一个魅力。有人知道为什么会发生这种事吗?

尝试这些解决方案

Add"->withPort(port_number)"默认值为9042或检查防火墙是否阻止主机中的访问