Cassandra_NotFound Исключение при попытке создать экземпляр объекта column_family из phpcassa - PullRequest
1 голос
/ 13 сентября 2011

Я установил экземпляр Cassandra 0.7 на моей машине с Windows 7 (64-битная версия).

Сервер cassandra запущен и работает, и он успешно прослушивает экономных клиентов. Я протестировал экземпляр, успешно создав собственное примерное пространство ключей и семейство столбцов.

Теперь мне нужно подключиться к этому экземпляру Cassandra из моего PHP-скрипта. Я пытался использовать thobbs \ phpcassa .

Здесь я столкнулся с проблемой. В установке упоминаются шаги для 'make, build' для системы UNIX / Linux, но ничего не упоминается для 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 user в своем демонстрационном пространстве ключей.

Выполнение этого скрипта в моем браузере дает мне следующее исключение:

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);

не выдал никакой ошибки / предупреждения. Итак, я не совсем уверен, что является причиной этого исключения? Я новичок в Кассандре и PHPcassa. Очень жаль, если эта проблема звучит довольно банально.

1 Ответ

2 голосов
/ 14 сентября 2011

Это исключение указывает на то, что он смог подключиться к вашему экземпляру Cassandra (возможно, без каких-либо проблем), но «пользователь» ColumnFamily в пространстве ключей «демо» не существует.

Попробуйте запустить cassandra-cli и убедитесь, что «покажите ключи»; перечисляет семейство столбцов внутри правильного пространства ключей. Также имейте в виду, что имена чувствительны к регистру, если это имеет значение.

...