【发布时间】:2012-02-03 18:10:34
【问题描述】:
在启动 Cassandra 服务器和 Cassandra 客户端后,我成功创建了“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 $@;
【问题讨论】:
-
欲了解更多信息:在此问题发生之前,我收到“无法读取 4 个字节...”错误。我在 Easy.pm 模块中将“BufferedTransport”替换为“FramedTransport”,然后修复了“无法读取 4 个字节...”错误。但是这个“你没有为这个会话设置一个键空间”的错误,我不知道有什么方法可以解决。