1

我在我的 Windows 7 机器 (64bit) 中设置了一个 Cassandra 实例 0.7。

cassandra 服务器已启动并运行,它正在成功侦听 thrift 客户端。我已经通过成功创建自己的示例键空间和列族测试了该实例。

现在,我必须从我的 PHP 脚本连接到这个 Cassandra 实例。我尝试使用thobbs\phpcassa

在这里我遇到了麻烦。在安装中提到了 UNIX/Linux 系统的“make,build”步骤,但没有提到 Windows 的步骤。

不知道下一步该做什么,我尝试将 phpcassa 文件夹复制到我的 htdocs 文件夹(apache)中,并创建了一个包含以下内容的测试文件 cassandra_test.php:

<?php
ini_set('display_errors',1);
require_once('phpcassa/connection.php');
require_once('phpcassa/columnfamily.php');

$servers = array("localhost:9160");
$pool = new ConnectionPool("demo", $servers);

$column_family = new ColumnFamily($pool, 'user');


?>

demo是我从命令提示符创建的示例键空间。另外,我在演示键空间中创建了一个示例 column_family用户

在我的浏览器中执行此脚本会给我以下异常:

Fatal error: Uncaught exception 'cassandra_NotFoundException' in C:\Program Files   (x86)\Apache Software Foundation\Apache2.2\htdocs\phpcassa\columnfamily.php:198 
Stack trace: #0 C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\cassandra_test.php(10): 
ColumnFamily->__construct(Object(ConnectionPool), 'user') #1 {main} thrown in C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\phpcassa\columnfamily.php
on line 198 

我认为 phpcassa 找不到我本地的 cassandra 实例。如何检查?

$pool = new ConnectionPool("demo", $servers);

没有给出任何错误/警告。所以,我完全不确定这个异常的根本原因是什么?我是 cassandra 和 PHPcassa 的新手。如果这个问题听起来很微不足道,我真的很抱歉。

4

1 回答 1

2

此异常表明它能够连接到您的 Cassandra 实例(可能没有任何问题),但键空间“演示”中的 ColumnFamily“用户”不存在。

Try starting cassandra-cli and verify that "show keyspaces;" lists the column family inside the correct keyspace. Also be aware that names are case-sensitive here, if that makes a difference.

于 2011-09-14T02:18:23.847 回答