首页 文章

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

提问于
浏览
1

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

但是,我们决定转移到远程Cassandra集群(3.4使用本机协议4),我无法通过PHP访问它,因为我收到以下错误: An error occured: 16777226 - No hosts available for the control connection .

有趣的是,使用远程集群的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集群,那么它就像一个魅力 . 有人知道为什么会这样吗?

1 回答

  • 0

    试试这些解决方案

    添加“ - > withPort(port_number)”默认为9042或检查防火墙是否阻止主机访问

相关问题