Cassandra错误:“无法达到一致性级别LOCAL_ONE”;在用户创建期间 [英] Cassandra error: "Cannot achieve consistency level LOCAL_ONE" during user creation

查看:453
本文介绍了Cassandra错误:“无法达到一致性级别LOCAL_ONE”;在用户创建期间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用3节点cassandra 2.1.14并使用身份验证器:PasswordAuthenticator。

I am using 3 node cassandra 2.1.14 and using authenticator: PasswordAuthenticator.

但是当尝试通过以cassandra / cassandra身份登录来创建用户时。

But when trying to create a user by logging in as cassandra/cassandra. Is there something i need got fix in the set up?


cassandra @ cqlsh>使用密码 test超级用户创建用户测试;

cassandra@cqlsh> create user test with password 'test' superuser;

ServerError:

ServerError:


message = java.lang.RuntimeException:
org.apache.cassandra.exceptions.UnavailableException:无法达到
一致性级别LOCAL_ONE>

message="java.lang.RuntimeException: org.apache.cassandra.exceptions.UnavailableException: Cannot achieve consistency level LOCAL_ONE">

系统日志显示:


错误[SharedPool-Worker-1] 2016-06-27 07:17:36,538
ErrorMessage.java :251-请求期间的意外异常
java.lang.RuntimeException:
org.apache.cassandra.exceptions.UnavailableException:无法在org.apache.cassandra上达到
一致性级别LOCAL_ONE
.auth.Auth.selectUser(Auth.java:276)〜[apache-cassandra-2.1.14.jar:2.1.14]
at org.apache.cassandra.auth.Auth.isExistingUser(Auth.java: 86)〜[apache-cassandra-2.1.14.jar:2.1.14]
在组织.apache.cassandra.cql3.statements.CreateUserStatement.validate(CreateUserStatement.java:55)〜[apache-cassandra-2.1.14.jar:2.1.14]
,位于org.apache.cassandra.cql3.QueryProcessor。 processStatement(QueryProcessor.java:236)
〜[apache-cassandra-2.1.14.jar:2.1.14]
at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:260 )
〜[apache-cassandra-2.1.14.jar:2.1.14]
,位于org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:122)
〜[apache-cassandra-2.1.14.jar:2.1.14]
,位于org.apache.cassandra.transport.Message $ Dispatcher.channelRead0(Message.java:439)
[apache-cassandra- 2.1.14.jar:2.1.14]
,位于org.apache.cassandra.transport.Message $ Dispatcher.channelRead0(Message.java:335)
[apache-cassandra-2.1.14.jar: 2.1.14] io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)中的
[netty-all-4.0.23.Final.jar:4.0.23 .final]
,位于io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
[netty-all-4.0.23.Final.jar:4.0.23.Final]
在io.netty.channel.AbstractChannelHandlerContext.access $ 700(AbstractChannelHandlerContext.java:32)
[netty-all-4.0.23.Final.jar:4.0.23.Final]
在io.netty .channel.AbstractChannelHandlerContext $ 8.run(AbstractChannelHandlerContext.java:324)
[netty-all-4.0.23.Final.jar:4.0.23.Final]
,位于java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)
[na:1.8.0_77]
在org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService $ FutureTask.run(AbstractTracingAwareExecutorService.java:164)
[apache-cassandra-2.1.14.jar:2.1.14]
,位于org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105)
[apache-cassandra-2.1.14 .jar:2.1.14] java.lang.Thread.run(Thread.java:745)上的
[na:1.8.0_ 77]

ERROR [SharedPool-Worker-1] 2016-06-27 07:17:36,538 ErrorMessage.java:251 - Unexpected exception during request java.lang.RuntimeException: org.apache.cassandra.exceptions.UnavailableException: Cannot achieve consistency level LOCAL_ONE at org.apache.cassandra.auth.Auth.selectUser(Auth.java:276) ~[apache-cassandra-2.1.14.jar:2.1.14] at org.apache.cassandra.auth.Auth.isExistingUser(Auth.java:86) ~[apache-cassandra-2.1.14.jar:2.1.14] at org.apache.cassandra.cql3.statements.CreateUserStatement.validate(CreateUserStatement.java:55) ~[apache-cassandra-2.1.14.jar:2.1.14] at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:236) ~[apache-cassandra-2.1.14.jar:2.1.14] at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:260) ~[apache-cassandra-2.1.14.jar:2.1.14] at org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:122) ~[apache-cassandra-2.1.14.jar:2.1.14] at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439) [apache-cassandra-2.1.14.jar:2.1.14] at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335) [apache-cassandra-2.1.14.jar:2.1.14] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [netty-all-4.0.23.Final.jar:4.0.23.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) [netty-all-4.0.23.Final.jar:4.0.23.Final] at io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32) [netty-all-4.0.23.Final.jar:4.0.23.Final] at io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324) [netty-all-4.0.23.Final.jar:4.0.23.Final] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_77] at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164) [apache-cassandra-2.1.14.jar:2.1.14] at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) [apache-cassandra-2.1.14.jar:2.1.14] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_77]


推荐答案

我在尝试将整个环滚动到PasswordAuthenticator时遇到了这个问题一旦。不知道为什么它不能获取本地一个,但是我只回滚到一个启用了身份验证的节点,并且能够继续进行操作。

I just ran into this while attempting to roll a whole ring to PasswordAuthenticator at once. Not sure why it would fail to accheive local one, but I rolled back to only one node enabled for auth and was able to proceed.

因此,回滚时,在上启用PasswordAuthentication一个节点,创建您的新帐户,更新system_auth上的复制(到所有节点),设置并忘记您的cassandra密码,然后进行滚动重启,在其余的环上启用auth。

So roll back, enable PasswordAuthentication on one node, create your new account, update the replication on system_auth (to all nodes), set and forget your cassandra password and then do a rolling restart enabling auth on the rest of the ring.

这篇关于Cassandra错误:“无法达到一致性级别LOCAL_ONE”;在用户创建期间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆