无法使用Datastax PHP Driver连接到远程Cassandra集群

时间:2016-04-06 08:56:28

标签: php cassandra datastax-php-driver

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

但是,我们决定转移到远程Cassandra集群(3.4使用本机协议4)并且我无法通过PHP访问它,因为我收到以下错误:发生错误:16777226 - 没有可用于控件的主机连接

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

生成PHP代码的错误如下:

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

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

1 个答案:

答案 0 :(得分:0)

尝试这些解决方案

添加" - > withPort(port_number)"默认值是9042 要么 检查防火墙是否阻止主机访问