问题标签 [datastax-php-driver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1788 浏览

php - Apache Cassandra 2.1.11 集群故障转移不适用于 datastax php 驱动程序

我是 cassandra 的新手,但有 Nosql 的背景和其他技术的高可用性。几天前我安装了 Cassandra 3.0,但听起来 Datastax php 驱动程序根本不支持它!所以我降级到 2.1.11 版本并编写了一个简单的 php 脚本来使用 Datastax php-driver 对其进行查询,它可以正常工作。

然后我在同一台机器(Ubuntu 11.10!)中使用不同的 IP 地址启动了两个 Cassandra 实例。然后将php代码更改为:

问题是,只要两个实例都按预期运行,并且 php 输出预期结果。但是当我停止其中一个实例(不管是哪一个)时,它会给出

当前策略中的所有主机都已尝试但不可用或失败

即使我把它改回

它给了我同样的错误。但是 cqlsh 在每种情况下都有效。

与 Datastax php 驱动程序有关吗?

0 投票
0 回答
78 浏览

travis-ci - 从 travis 从 sudo 到容器构建失败

我有一个依赖于 datastax php-driver 的项目: https ://github.com/datastax/php-driver

我已经成功地将这个驱动器用于 PHP 5.6 和 travis。我想切换到容器构建,因为 php-drive 的所有者已经成功地做到了(也让构建速度更快是一个奖励)。

我遇到了以下错误:

.travis.yml 文件如下所示:

最初作为包,只需要 libssl-dev,但由于它缺少 C 编译器,我决定检查 datastax 构建指南并折腾一些额外的包:http ://datastax.github.io/cpp-driver/主题/建筑/

错误保持不变。我知道datastax的驱动程序通过travis构建的原因是因为make是用他们的c语言编译的,但是当我以前在sudo而不是容器中时,我能够成功地完成整个运行。任何帮助表示赞赏。

0 投票
1 回答
2361 浏览

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

我目前正在参与创建一个 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();那么它就像一个魅力。有人知道为什么会这样吗?

0 投票
1 回答
439 浏览

php - CentOS 6.7 上 PHP 的 Datastax Cassandra 驱动程序问题:未定义符号:第 0 行未知中的 cass_cluster_set_whitelist_dc_filtering

我已经使用以下过程为 PHP 安装了 datastax cassandra 驱动程序扩展:

  • 安装依赖:automake cmake gcc gcc-c++ git libtool openssl-devel wget gmp gmp-devel boost php-devel pcre-devel git libuv gmp
  • 从源码编译安装cpp-driver
  • 从源代码安装 PHP Datastax cassandra 驱动程序
  • 在 /etc/php.ini 文件中添加了扩展名

当我尝试执行 php 文件以连接到 cassandra 集群时,出现以下错误

我尝试使用二进制文件再次安装,但我仍然面临同样的问题。

这是 ldd 输出:

谢谢你的帮助。

0 投票
1 回答
855 浏览

cassandra - Datastax Cassandra PHP 驱动程序:如何知道 CQL INSERT、UPDATE、DELETE 是否成功

我正在使用 Datastax php-driver 在我的 cassandra 上运行 CQL。我使用 INSERT、UPDATE、DELETE 操作。

下面是我为插入运行的示例代码

我的问题是,如何知道插入(或更新、删除)是否成功。我已阅读 Datastax 文档并知道$session->execute返回Cassandra\Rows,使用此 Rows 对象“如何判断我的 CQL 是成功还是失败? ”。

非常感谢任何帮助或输入...

更新:

根据答案,工作代码示例

0 投票
2 回答
1645 浏览

php - pecl install cassandra 在 OS X 上抛出:“错误:无法加载 libcassandra”

我已经安装了所有的 cassandra 和 php pecl/pear 依赖项,并且 cassandra 3 在我的mac上可用,并且 cqlsh 运行正常,但是在 run 之后pecl install cassandra,抛出这个:

配置:错误:无法加载 libcassandra 错误:`/private/tmp/pear/install/cassandra/configure --with-php-config=/usr/bin/php-config' 失败

0 投票
1 回答
140 浏览

cassandra - Cassandra solr_query 在升级到 DSE 5 后无法正常工作

升级到之后DSE 5 solr_query就不行了。下面是新的 DSE、cqlsh 和 Cassandra 版本。

[cqlsh 5.0.1 | 卡桑德拉 3.0.7.1158 | DSE 5.0.0 | CQL 规范 3.4.0 | 本机协议 v4]

我正在使用 PHP 驱动程序进行连接。异常捕获是

对于本机协议版本 < 4,不得发送带有 CUSTOM_PAYLOAD 标志的帧

错误代码是 33554442

当我在 cqlsh 上运行相同的查询时,它正在工作,但不是通过 Php 驱动程序。

0 投票
1 回答
271 浏览

cassandra - Datastax - Cassandra PHP 驱动程序 - 执行 CQL 脚本

使用 Datastax - Cassandra PHP Driver,我想执行 CQL 脚本文件。例如,此脚本文件包含许多 CREATE KEYSPACE、CREATE TABLE 命令。

在 cqlsh 终端中,我可以通过

但是,我如何通过 Datastax - Cassandra PHP 驱动程序实现相同的目标?

任何帮助表示赞赏。

0 投票
1 回答
1388 浏览

cassandra - Cassandra 2.0 中的高 CPU 使用率

运行 4 节点集群 cassandra 版本 2.0.9。最近一个月以来,我们看到所有节点上的 CPU 使用率大幅飙升。

节点状态

tpstats 给了我很高的本地传输请求。附上 3 个节点 tpstats 的屏幕截图

节点 1 节点状态 节点 2 节点状态 节点 3 节点状态

我应该从哪里开始调试?

此外,如果您从第一张图片中看到,当负载变高时,读写变低。这是可以理解的,因为大多数请求都放弃了

0 投票
1 回答
639 浏览

cassandra - 高 CPU 使用率 Cassandra(本机传输请求)

我们正在生产中运行 cassandra 版本 2.0.9。这是一个 4 节点集群。在过去的几天里,我们正在经历 CPU 利用率的高峰值。您可能会在下图中看到。

最佳

这是 jconsole 输出。 控制台

当我们查看正在消耗大量 CPU 的线程时,我们遇到了 Native Transport 请求,这些线程正在消耗大量 CPU(比如 12%),这是巨大的。

线程堆栈跟踪。 堆栈跟踪

线程信息。 线程信息

线程 CPU%。 螺纹顶部

问题可能是我们应该如何调试它?

为什么大多数 NTR 请求都停留在 BCrypt.java 上?这是问题吗?

几天前集群表现正常,但现在 4 个节点中有 3 个始终处于高 CPU 利用率。