Cassandra错误:"无法达到一致性等级LOCAL_ONE"在用户创建期间

时间:2016-06-27 07:35:19

标签: cassandra

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

但是当尝试通过以cassandra / cassandra身份登录来创建用户时。在设置中有什么我需要解决的问题吗?

  

卡桑德拉@ cqlsh>使用密码创建用户测试' test'超级用户;

SERVERERROR:

  

消息="了java.lang.RuntimeException:   org.apache.cassandra.exceptions.UnavailableException:无法实现   一致性级别LOCAL_ONE">

系统日志显示:

  

错误[SharedPool-Worker-1] 2016-06-27 07:17:36,538   ErrorMessage.java:251 - 请求期间发生意外异常   了java.lang.RuntimeException:   org.apache.cassandra.exceptions.UnavailableException:无法实现   一致性级别LOCAL_ONE           在org.apache.cassandra.auth.Auth.selectUser(Auth.java:276)〜[apache-cassandra-2.1.14.jar:2.1.14]           在org.apache.cassandra.auth.Auth.isExistingUser(Auth.java:86)〜[apache-cassandra-2.1.14.jar:2.1.14]           在org.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的卡桑德拉-2.1.14.jar:2.1.14]           在org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:260)   〜[Apache的卡桑德拉-2.1.14.jar:2.1.14]           在org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:122)   〜[Apache的卡桑德拉-2.1.14.jar:2.1.14]           at org.apache.cassandra.transport.Message $ Dispatcher.channelRead0(Message.java:439)   [Apache的卡桑德拉-2.1.14.jar:2.1.14]           在org.apache.cassandra.transport.Message $ Dispatcher.channelRead0(Message.java:335)   [Apache的卡桑德拉-2.1.14.jar:2.1.14]           在io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)   [网状-全4.0.23.Final.jar:4.0.23.Final]           at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)   [网状-全4.0.23.Final.jar:4.0.23.Final]           at io.netty.channel.AbstractChannelHandlerContext.access $ 700(AbstractChannelHandlerContext.java:32)   [网状-全4.0.23.Final.jar:4.0.23.Final]           at io.netty.channel.AbstractChannelHandlerContext $ 8.run(AbstractChannelHandlerContext.java:324)   [网状-全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的卡桑德拉-2.1.14.jar:2.1.14]           在org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105)   [Apache的卡桑德拉-2.1.14.jar:2.1.14]           在java.lang.Thread.run(Thread.java:745)[na:1.8.0_77]

1 个答案:

答案 0 :(得分:1)

我试图将整个环一次滚动到PasswordAuthenticator时遇到了这个问题。不知道为什么它不能实现本地的,但我回滚到只有一个启用auth的节点并且能够继续。

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