启动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 $@;
答案 0 :(得分:1)
在CPAN评论中看到这个:
“如果它被更新,这可能是一个很好的模块,但是这个版本太旧而不实用。看来这个模块不适用于任何版本的5.x以上的Cassandra。”
你使用什么cassandra版本?
此软件包中有一个test.pl,尝试运行它。
我的猜测是你的Keyspace1在你的cassandra安装中不是一个有效的密钥空间。您是否可以使用某些命令行工具运行此查询?