问题标签 [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.
php - 通过 datastax/php-driver 管理连接
如何管理与 的连接总数datastax/php-driver
?
我们遇到了 TCP 连接过多的问题,我们怀疑这与该驱动程序的工作方式有关。
我们已经将YACassandra
PDO 驱动程序移到了这个驱动程序上。我发现的最大问题之一是连接池将为每个HTTP 线程连接到集群中的所有服务器。
我们的集群中有 4 个盒子。这是 4 个打开的持久连接,每个Apache 子节点。我怀疑这是我们麻烦的罪魁祸首。
从历史上看,我们使用过 YACassandra PDO,它每个线程只使用 1 个连接。
我们如何优化它?无论如何要停止datastax/php-drive
进行集群发现吗?
datastax - AWS 中的 Datastax 实例类型升级问题
我计划将 AWS 中的 datastax 实例从 t2.large 升级到 t2.2xlarge。我们当前的集群包含 6 个 SearchGraph 节点
由于我们的复制因子是 3,即使我们的 2 实例出于实例升级目的而停机,我们也可以生存。我需要明确我计划进行的以下升级步骤是否正确?
第1步)
步骤 2) 获取实例的 AMI
步骤 3) 从采用的 AMI 启动一个新的 t2.2xlarge 实例。
(注意:新实例 ip 应与前一个相同)
步骤 4) sudo service dse start
php - PHP Cassandra Timeuuid 构造函数达到整数限制(32 位)
我在我的项目中使用 cassandra timeuuid。但由于整数限制,无法创建 timeuuid。
如果我运行上面的代码,我会得到以下结果。
这意味着 Timeuuid 构造函数需要以毫秒为单位的时间戳。但是,如果我尝试以毫秒为单位传递参数,它将达到我的 php(32 位)的整数限制。
上述代码出现以下错误。
由于它高于整数限制,因此它被强制转换为浮点数。
知道如何解决这个问题吗?
datastax - 从 Datastax 数据中心删除种子节点
我的数据中心有 6 个节点,其中 3 个节点也充当种子节点。我计划从 rack2 中删除 3 个节点,并将种子节点数减少到两个。使用“nodetool decommission”,我们可以删除节点,但是否有任何额外的步骤涉及删除种子节点。
cassandra - Dse\Exception\RuntimeException:所有 I/O 线程上的所有连接都忙
我们的网络应用程序中有一个工具可以删除大量数据。我们通过对找到的所有记录进行分页来做到这一点u_id
。
我们拥有的键是为我们在应用程序中拥有的其他查询而设计的——理想情况下,拥有一个主键会很棒,u_id
但这会破坏我们所有的其他查询。
以下方法在大多数情况下运行良好,但是,在删除大约 6-8 百万条记录后,我们得到:
Dse\Exception\RuntimeException:所有 I/O 线程上的所有连接都忙
我们有时还会收到稍有不同的错误消息:
Dse\Exception\ReadTimeoutException:操作超时 - 仅收到 0 个响应
您会在下面的代码usleep(2500000)
中注意到暂停脚本。这是我们的解决方法,但最好能解决这个问题,因为 Cassandra 应该能够处理这么多的删除。
以下是我们的表格供您参考:
我们正在运行具有 8GB RAM 的服务器。
DSE 驱动程序的版本是 6.0.1。
先感谢您!
c++ - MacOS High Sierra 上的 Cassandra C++ 驱动程序:make: no rule to make target
按照这些说明在 MacOS High Sierra 上安装 DataStax C++ 驱动程序,作为安装适用于 Cassandra 的 DataStax PHP 驱动程序的先决条件。
一切运行良好,直到我到达“构建和安装 C/C++ 驱动程序”部分中的“make install”行。这就是我收到消息的地方:“make: *** No rule to make target ‘install’. Stop.”
有人可以帮我完成这一步吗?
cassandra - 想知道如何在 Cassandra 中准备好的插入语句中使用 php 驱动程序绑定映射类型列
有人可以帮助我使用包含映射类型列的准备好的插入/更新语句的确切语法。认为 :
其中 map 是地图类型列,
我找到了一个答案 Cassandra Prepared statements with collections 但它只包含生成特定地图类型对象而不是绑定的语法。
cassandra - 检查每张桌子上的 cassandra 负载
有没有办法弄清楚每张桌子上有多少请求(读/写)?
我想弄清楚我们在哪里有很大的负担。
已经尝试使用:
这不好,因为我看不到请求的数量。
谢谢
cassandra - 如何获取 cassandra 时间戳列的字符串表示形式?
我正在从 datastax php 潜水员查询 cassandra 的时间戳列
结果以json格式返回
我想获得日期格式的简单字符串表示,例如YYYY-mm-dd
它出现在 cql 客户端而不是 json 上一样。
我试过TODATE
函数,但返回相同的结果。
php - 将 3 小时添加到由 php 中的 new Cassandra\Timestamp() 生成的时间戳
我已经使用new Cassandra\Timestamp()
php 生成了时间戳。现在我想使用 php 为这个生成的时间添加 2 小时,然后将其存储在数据库(Cassandra)中。
基本上我想做这样的事情:
**HERE 截止日期列的数据类型设置为时间戳。
我在这里面临的问题是 $dt 返回一个对象数据类型,所以我不能直接向它添加 3 小时。即使我能够以某种方式增加 3 个小时,cassandra 也不会接受它作为可行的输入。
那么,是否可以通过这种方式直接将 3 小时添加到 cassandra 时间戳,或者我应该处理在数据库中存储为字符串的时间。
我的结局是存储截止日期,然后将当前时间与存储的截止日期进行比较,如果当前时间大于则执行一些代码。像这样的东西: