添加新的Cassandra节点时,现有角色无法登录到该节点

时间:2018-10-17 06:18:55

标签: cassandra

一个新的Cassandra节点(我们称其为c3)被引入到我们的集群中,并引入了一个已经有另外两个节点(c1c2)的数据中心。节点加入环网后,nodetool repair在数据中心内执行。

nodetool status报告说,新节点确实已加入同一数据中心中的群集。

Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address       Load       Tokens       Owns (effective)  Host ID                         Rack
UN  xx.xx.xx.c1   48.47 GiB  256          71.0%             5908eee6-63e9-464e-9d65-b20a5f46c86c  rack1
UN  xx.xx.xx.c2   58.11 GiB  256          64.0%             28691036-3e11-49e9-83d6-9bbe577f7249  rack1
UN  xx.xx.xx.c3   37.7 GiB   256          65.0%             c8a3e0a3-0dc9-4951-b9c5-ee32dc7a12fd  rack1

在引入新节点之前,群集中已经存在一个名为 analytics role。我们的Spark作业使用此角色(通过Datastax Spark-Cassandra Connector)将数据写入Cassandra集群。

添加新节点后,我在日志中观察到以下两个异常:

java.io.IOException: Failed to write statements to reports.ts_table. The latest exception was User analytics has no MODIFY permission on <table reports.ts_table> or any of its parents. Please check the executor logs for more exceptions and information at com.datastax.spark.connector.writer.TableWriter$$anonfun$writeInternal$1$$anonfun$apply$3.apply(TableWriter.scala:243) ...

Cluster: Authentication error during reconnection to /xx.xx.xx.c3:9042, scheduling retry in 16000 milliseconds. com.datastax.driver.core.exceptions.AuthenticationException: Authentication error on host /xx.xx.xx.c3:9042: Username and/or password are incorrect

这些异常似乎仅在写入新添加的c3节点时才会发生。 仅对system_auth模式进行多次修复,以及对数据中心进行全面修复似乎无法解决此问题。数据中心的system_auth模式的复制因子为2。

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

在您的情况下,将新节点加入后,将system_auth的RF增加到3是很好的。

以下内容也是如此

  
      
  1. 将DC的ALTER system_auth密钥RF设置为3
  2.   
  3. 运行修复-full system_auth
  4.