我正在使用 Cassandra 1.2.3,并在 cassandra 配置中进行了以下更改以启用用户/密码 - 身份验证器:org.apache.cassandra.auth.PasswordAuthenticator
我可以使用 cassandra-cli 访问现有的密钥空间。但是在使用 hector 进行查询时遇到问题 - (在 HFactory.getOrCreateCluster 添加凭据确实有助于前进,但现在我在对键空间运行查询时遇到了同样的错误)
Map<String, String> AccessMap = new HashMap<String, String>();
AccessMap.put("username", "cassandra");
AccessMap.put("password", "cassandra");
cluster = HFactory.getOrCreateCluster(clusterName,
new CassandraHostConfigurator(hostport), AccessMap);
ConfigurableConsistencyLevel ccl = new ConfigurableConsistencyLevel();
ccl.setDefaultReadConsistencyLevel(HConsistencyLevel.ONE);
keyspace = HFactory.createKeyspace(keyspaceName, cluster, new AllOneConsistencyLevelPolicy(), FailoverPolicy.ON_FAIL_TRY_ALL_AVAILABLE, AccessMap);
运行 QueryResult> result = sliceQuery .execute(); 时抛出异常 -
引起:me.prettyprint.hector.api.exceptions.HInvalidRequestException: InvalidRequestException(why: 你还没有登录)
在没有添加凭据的情况下,SliceQuery 工作正常。