在我们的集群中引入了一个新的Cassandra节点(我们称之为c3),该节点被引入到一个已经有两个其他节点(c1和c2)的数据中心中。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在引入新节点之前,集群中存在一个称为分析的role。我们的星火作业使用这个角色将数据写入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。
任何帮助都将不胜感激。谢谢。
发布于 2018-10-17 07:05:12
在您的情况下,在新节点加入后,将system_auth的RF增加到3是好的。
以下几点也是如此
https://stackoverflow.com/questions/52848402
复制相似问题