问题标签 [phpcassa]

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 投票
1 回答
66 浏览

php - 行迭代不起作用

我的目标是遍历节点中特定 ColumnFamily 中的所有行。
这是 php 代码(在 phpcassa 上使用我的包装器):

  • get_range_by_token() 使用由 $params 覆盖的默认参数。

在每批中,我得到相同的 10 个行键。
如何遍历大型 Cassandra DB 中的所有现有行?

0 投票
1 回答
1614 浏览

cassandra - Cassandra 挂在任意命令上

我们在 AWS 上托管 Cassandra 2.0.2 集群。我们最近开始通过引导新节点和停用旧节点来从普通驱动器升级到 SSD 驱动器。除了两个节点在退役时永远挂起之外,它进行得相当不错。现在,在新的 6 个节点运行后,我们注意到一些使用 phpcassa 的旧工具停止工作。安全组没有任何改变,所有端口 TCP/UDP 都打开,telnet 可以通过 9160 连接,cqlsh 可以“使用”集群,选择数据,但是,“描述集群”失败,在 cli 中,“显示密钥空间”也失败 -失败,我的意思是永远不会退出提示,也不会返回任何结果。查询从新节点完美运行,但即使是等待退役的旧节点也无法执行它们。生产系统,同样使用 phpcassa,

所有 cassandra 都具有相同的配置、相同的版本、相同的安装包。由于种子节点更改,所有节点最近都重新启动。

版本:

在####.compute-1.amazonaws.com:9160 连接到###。[cqlsh 4.1.0 | 卡桑德拉 2.0.2 | CQL 规范 3.1.1 | 节俭协议 19.38.0]

我已经没有想法了。任何提示将不胜感激。

更新:

经过一些随机调查,这里有一个更详细的描述。

如果我对任何机器进行 cassandra-cli 并执行“显示键空间”,它就可以工作。

如果我 cassandra-cli 连接到远程机器,并执行“显示密钥空间”,它会无限期挂起。

如果我 cqlsh 到远程 cassandra,并执行描述键空间,它会挂起。ctrl+c,重复同样的查询,它会立即响应。

如果我 cqlsh 到本地 cassandra,并做一个描述键空间,它就可以工作。

如果我 cqlsh 到本地 cassandra,并从键空间限制 x 中选择 *,它将返回数据达到一定的限制。我能够返回限制为 760 的数据,但 761 会失败。

如果我做一个一致性,并选择相同的,它会挂起。

如果我进行跟踪,不同的机器会返回数据,尽管有时 source_elapsed 是“null”

不要忘记,查询集群的应用程序有时会在多次尝试后得到结果。

更新 2

进一步的游戏引入了两个节点的引导失败,一个在引导上挂了 4 天,最终失败,可能是由于滚动重启,另一个在 2 天后完全失败。修复不起作用,并引入了“流失败”错误,以及“线程 Thread[StorageServiceShutdownHook,5,main] java.lang.NullPointerException 中的异常”。此外,执行修复后,开始出现“读取无效帧大小 0。您是否在客户端使用 tframedtransport?”,所以..

解决方案

将 rpc_server_type 从 hsha 切换到 sync。所有的问题都过去了。我们与 hsha 合作了几个月,没有任何问题。

如果有人也在这里绊倒: http ://planetcassandra.org/blog/post/hsha-thrift-server-corruption-cassandra-2-0-2-5/

0 投票
1 回答
101 浏览

php - 迁移 cassandra 和 phpcassa

我正在尝试将我的旧版本从 cassandra 1.2.8 迁移到 cassandra 2.1,我使用 phpcassa 0.8,当我迁移 cassandra 时一切正常,除了我无法使用:

我可以完美地编写并做到这一点:

但是如果我尝试使用 get() 读取数据,则会收到以下错误:

也许有人可以帮助我解决这个错误。

谢谢!

0 投票
0 回答
84 浏览

php - 是否可以使用 phpcassa 在 cassandra 中批量删除?

我也是 php 和 cassandra 的新手。我试图在 cassandra 中使用 phpcassa lib 进行批量删除操作。有一种方法可batch_insert()用于在一次调用中插入多行。有没有类似的方法来删除多行。

在网上搜索各种来源后,我想出了下面的批处理操作代码,但它不起作用。我不确定出了什么问题。

0 投票
1 回答
46 浏览

php - 无法使用 cassandra 和 php 创建键空间

我无法使用 PHP 在 docker 容器下运行的 cassandra 上创建密钥空间。连接似乎没问题,但我没有创建任何内容。当我运行时,DESCRIBE keyspaces;我只有默认创建的键空间。

我正在使用thobbs/phpcassabundle 将 php 与 cassandra 连接起来。我认为问题似乎与登录名和密码有关。

在这个捆绑包中,我没有找到我把它们放在哪里。当我连接到 cassandra 容器时,我可以通过此命令进行连接cqlsh -u cassandra -p cassandra 172.24.0.1 9042

贝娄是我在 index.php 上的代码

我可以把我的登录名和密码放在哪里?