当前位置: 首页 > 知识库问答 >
问题:

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

邹举
2023-03-14

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

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

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

生成PHP代码的错误如下:

$cluster=\Cassandra::cluster()-

最后一行是产生错误的行。但是,如果我尝试使用$cast=\Cassandra::cluster()连接到本地cassandra集群-


共有1个答案

拓拔高畅
2023-03-14

试试这些解决方案

添加“-

 类似资料:
  • 代码: 输出: Traceback(最近一次调用last):文件“C:/Users/RV CSP/pycharm projects/untitled 25/hotel . py”,第9行,在session = cluster.connect('dbsi ')文件“C:\ Users \ RV CSP \ AppData \ Roaming \ Python \ Python 36 \ site-p

  • 我最近在同一个内网的两台硬件配置完全相同的服务器上搭建了一个只有两个节点的cassandra集群。它与cqlsh配合得很好,一切似乎都很完美。然后我按照datastax网站上的代码示例编写java代码来处理集群,问题就来了。该程序正常工作,它连接到群集,并成功地向其中写入数据和从中读取数据。然而,连接速度太慢了!我将代码部署在一个集群节点所在的同一台机器上,连接需要5秒多的时间。更准确地说,是行s

  • 我试图理解Datastax Cassandra驱动程序中的连池,因此我可以更好地在我的Web服务中使用它。 我有留档的1.0版。它说: Java驱动程序异步使用连接,因此可以在同一个连接上同时提交多个请求。 他们通过连接理解什么?当连接到集群时,我们有:一个生成器、一个集群和一个会话。他们中的哪一个是连接? 例如,有一个参数: MaxSimultaneousRecestsPerConnection

  • 我使用的是Java8、Spark 2.1.1、Ignite2.5和BoneCP 0.8.0 结果出现以下异常: 提交脚本如下所示: 当使用“本地”Spark实例时,它使用think JDBC驱动程序连接到Ignite。有什么想法吗?

  • 我们有一个使用Oracle 19.3数据库运行的项目,以及一个使用Oracle 19.3 JDBC驱动程序(在Maven Central上可用)的Java应用程序。在带有JRE1.8的Windows上,一切都很好,但当我运行在构建服务器上或在带有OpenJDK11.0.3的WSL Ubuntu中时,它拒绝连接到数据库。具体地说: 如果切换到18.3JDBC驱动程序,在这两种环境中一切都很好;如果我

  • 问题内容: 我正在使用datastax Java驱动程序3.1.0连接到cassandra集群,而我的cassandra集群版本是2.0.10。 下面是我用来连接cassandra集群的单例类。 首先需要使用哪些设置来连接本地cassandra节点,如果它们已关闭,则仅与远程节点通信。我的池配置选项也就在这里,上面的代码中正在使用该选项? 问题答案: 默认情况下,datastax驱动程序将仅连接到