Net Cassandra Easy设置键空间

时间:2012-02-01 07:20:56

标签: perl cassandra

启动Cassandra服务器和Cassandra Client后,我成功创建了'Keyspace1',列系列'Standard1'。使用Net-Cassandra-Easy-0.15,我执行了一个Perl程序并得到了结果:

$VAR1=bless({
    'why'=>'You have not set a keyspace for this session'
    },'Net::GenCassandra::InvalidrequestException');

你有什么提示可以解决这个问题吗?

我的Perl程序如下:

#!/usr/bin/perl

use lib './lib';
use strict;
use warnings;
use Net::Cassandra::Easy;
use Data::Dumper;

eval {
    my $client = Net::Cassandra::Easy->new(
    server => 'localhost',
    port => 9160,
    keyspace => 'Keyspace1');
    $client->connect();
    my $key = 'rt';
    # get
    my $result = $client->get([$key],
        family => 'Standard1',
        byname => [qw/name age site/]);
    print Dumper($result);
    # insert
    $client->mutate([$key],
        family => 'Standard1',
        insertions => { 'site' => 'rest-term' });
    # get
    $result = $client->get([$key],
        family => 'Standard1',
        byname => [qw/name age site/]);
    print Dumper($result);
};
die Dumper($@) if $@;

1 个答案:

答案 0 :(得分:1)

在CPAN评论中看到这个:

“如果它被更新,这可能是一个很好的模块,但是这个版本太旧而不实用。看来这个模块不适用于任何版本的5.x以上的Cassandra。”

你使用什么cassandra版本?

此软件包中有一个test.pl,尝试运行它。

我的猜测是你的Keyspace1在你的cassandra安装中不是一个有效的密钥空间。您是否可以使用某些命令行工具运行此查询?