当前位置:  开发笔记 > 编程语言 > 正文

无法通过启用密码身份验证将java客户端连接到cassandra

如何解决《无法通过启用密码身份验证将java客户端连接到cassandra》经验,为你挑选了1个好方法。

我的macbook上有一个默认的Datastax enterprise安装.我能够创建我的键空间并设置我的所有应用程序,包括使用solr.

我正在尝试开发一组步骤来为我们的开发群集启用密码身份验证.

到目前为止,我已更新/usr/local/dse/resources/cassandra/conf/cassandra.yaml并更改了以下属性:authenticator:PasswordAuthenticator authorizer:CassandraAuthorizer

我重新启动了节点,可以使用cqlsh登录并查询我的密钥空间:cqlsh -u cassandra -p cassandra

此时,我尝试在"会话"构建器上设置"凭据":主机为:cassandra.host = localhost

authenticator: PasswordAuthenticator
authorizer: CassandraAuthorizer

但是我无法成功连接.所以我添加了一个新用户,并且能够再次通过cqlsh登录,但仍然无法连接Java驱动程序.

cqlsh -u cassandra -p cassandra

我通过gradle为驱动程序使用'com.datastax.cassandra:cassandra-driver-dse:2.1.9'.

我总是得到以下堆栈跟踪,通过调试可以看到用户名和密码设置正确:

Session session = keyspaceToSessionMap.get(keyspace);
    if( session == null){
        Cluster cluster = Cluster.builder().addContactPoints(hosts)
                .withCredentials(username, password)
                //.withSSL()
                .build();
        session = cluster.connect(keyspace);
        keyspaceToSessionMap.put(keyspace,session);
    }

这似乎应该很简单,但我很难过.

与cassandra驱动程序相关的依赖关系图包含以下内容:

cqlsh -u username -p password
Connected to LocalCluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 2.1.8.689 | DSE 4.7.3 | CQL spec 3.2.0 | Native protocol v3]

我创建了以下测试通过.

Caused by: com.datastax.driver.core.exceptions.AuthenticationException: Authentication error on host localhost/127.0.0.1:9042: Username and/or password are incorrect
at com.datastax.driver.core.Connection$8.apply(Connection.java:376)
at com.datastax.driver.core.Connection$8.apply(Connection.java:346)

我可以在两者之间区分的唯一区别是"localhost"现在是一个常量而不是大小为1的数组.



1> Greg L...:

发现我有一个尾随空格,这是根本原因.

Cluster cluster = Cluster.builder().addContactPoints(hosts)
                .withCredentials(username.trim(), password.trim())
                //.withSSL()
                .build();

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有