首页 > 解决方案 > Cassandra 集群从未加密状态转变为加密状态

问题描述

有没有人有任何将 Cassandra 集群(Apache 集群,而不是 Datastax)从非加密状态转移到加密状态的经验?

“加密状态”是指启用 server_encryption_options、client_encryption_options 和 transparent_data_encryption_options。

这个问题是由于这样一个事实引起的,虽然有一种感觉,如果不建立一个全新的集群,就不可能将 Cassandra 节点之间的通信转移到安全的方式。

当我只为机架启用 server_encryption_options 时,新的加密节点找不到旧的未加密节点,即使它们位于另一个 DC 中。

这让我明白,Cassandra 在节点到节点的连接中不能灵活,它们要么全部加密,要么全部未加密。

如果你能告诉我我还能在哪里问这个问题,我也会很高兴:比如社区聊天或其他什么。

卡桑德拉版本 3.11.2

这是 nodetool 状态(我试图让三个加密的 RAC_mycluster3 回到集群中):

Datacenter: DC_mycluster1
====================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address       Load       Tokens       Owns (effective)  Rack
UN  10.62.167.101  60.98 MiB  256          100.0%           RAC_mycluster1
Datacenter: DC_mycluster2
====================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address       Load       Tokens       Owns (effective)  Rack
UN  10.62.16.123  66.13 MiB  256          100.0%            RAC_mycluster2
Datacenter: DC_mycluster3
====================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address       Load       Tokens       Owns (effective)  Rack
UN  10.62.2.3   66.09 MiB  256          100.0%              RAC_mycluster3
UN  10.62.2.4   66.11 MiB  256          100.0%              RAC_mycluster3
UN  10.62.2.5   66.18 MiB  256          100.0%              RAC_mycluster3
Datacenter: DC_mycluster4
====================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address       Load       Tokens       Owns (effective)   Rack
UN  10.62.167.2  57.45 MiB  256          100.0%              RAC_mycluster4

标签: encryptioncassandra

解决方案


如您所见,Cassandra 在 3.11.x 中不支持服务器到服务器加密(server_encryption_options)的转换,仅支持客户端到服务器加密(client_encryption_options)的转换。

无需停机的服务器到服务器加密转换在 Cassandra (4.0) 的下一个主要版本中。 https://issues.apache.org/jira/browse/CASSANDRA-10404

所以现在,您必须创建一个新集群并迁移日期。

对于实时交流,Cassandra 社区在 Apache Software Fundation 的 Slack 中有空间,您可以通过https://s.apache.org/slack-invite加入。有#cassandra空间可以提问。


推荐阅读