0

我正在使用 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 工作正常。

4

1 回答 1

0

我使用的是 hector 1.1.4,但在 hector 1.1.5 中需要注意。

于 2013-08-15T03:23:21.907 回答