cassandra - 只允许超级用户执行CREATE USER查询

时间:2014-06-14 12:33:59

标签: cassandra cql cqlsh

我在使用Java 1.7.0_60-b19的Cassandra 2.0.8上使用Ubuntu 14.10登录

cqlsh -u cassandra -p cassandra

我正在跑步:

CREATE USER a WITH PASSWORD 'a' NOSUPERUSER;

我收到错误:

Bad Request: Only superusers are allowed to perform CREATE USER queries

推理问题 - 我以超级用户身份登录。

我的问题是:如果我以Cassandra用户身份登录cqlsh,为什么我被告知我不是超级用户?

2 个答案:

答案 0 :(得分:13)

您需要在cassandra.yaml文件中启用PasswordAuthenticator。 要启用PasswordAuthenticator,您需要更改cassandra.yaml

中的authenticator属性

更改

authenticator: AllowAllAuthenticator

authenticator: PasswordAuthenticator

使用以下命令登录后,您将能够添加新用户

cqlsh -u cassandra -p cassandra

答案 1 :(得分:0)

1在计算机上找到并打开“ cassandra.yaml”文件。

2在文件中查找并删除“ authenticator:AllowAllAuthenticator”。

3替换为'authenticator:PasswordAuthenticator'

4另外,添加以下行:'authorizer:CassandraAuthorizer'

重新启动Cassandra。 如果您使用brew,则可以重新使用

酿酒服务重新启动cassandra

然后再次登录cql shell:

cqlsh -u cassandra -p cassandra localhost;

创建一个新的超级用户

使用SUPERUSER创建角色= TRUE AND LOGIN = TRUE AND PASSWORD ='';

退出卡桑德拉(Cassandra)

退出

使用新的超级用户登录名登录

cql -u

然后输入密码,您就可以进入!

https://gist.github.com/GHesericsu/83aca87b60c853945e242b3b9a6ceef0/edit