1

我目前正在参与创建一个 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),创建一个新表并添加一行数据。

生成 PHP 代码的错误如下:

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

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

4

1 回答 1

0

试试这些解决方案

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

于 2017-05-14T15:39:26.070 回答