我尝试将DC添加到现有集群。我用一个键空间更改了networkTopologie,但是新的DC像完整副本一样工作。我只更改一个键空间拓扑,而其他键空间的行转到新的DC。当我在现有群集中添加一个插入内容时,它们也会进入新的DC。
当我将新的DC添加到群集中时,另一个问题是我失去了用于连接cassandra的超级用户。
我的脚步;
在现有节点上; 1-将cassandra-rackdc.properties更改为:
2- dc = datacenter1
3- rack = rack1
4-更改cassandra.yaml告密者:GossipingPropertyFileSnitch
5-节点的滚动重启:nodetool刷新&& nodetool消耗&&服务cassandra停止
6-更新应用程序特定的键空间以使用仅具有现有DC的NetworkTopology
7-带有复制的ALTER KEYSPACE {keyspace} = {'class':'NetworkTopologyStrategy','datacenter1':'3'} AND经久耐用的writes = true;
新数据中心;
1-创建新实例并在所有节点上安装cassandra,请勿启动服务
2-选择单个节点作为DC的种子
3-将cassandra.yaml更新为所有相同的设置,包括cluster_name等...以及优化的设置,并将所有种子设置为所选的DC种子 在选择的种子上,将cassandra.yaml种子设置为datacenter1中的1-2个IP(现有)
4-将cassandra-rackdc.properties更改为:
5- dc = datacenter2
6- rack = rack1
7-在选定的DC种子节点上启动服务
8-检查新工具是否可以在cassandra中正确加入节点工具的状态
9-启动其他节点,每次启动之间间隔1乘1 w / 2分钟
现有集群;
更改键空间拓扑
具有复制= {'class':'NetworkTopologyStrategy','datacenter1':'3','cassandra':'3'}的ALTER KEYSPACE {keyspace}},并且persistent_writes = true;
键空间模式;
system_auth | True | {'class': 'org.apache.cassandra.locator.NetworkTopologyStrategy', 'datacenter1': '1', 'datacenter2': '1'}
system_schema | True | {'class': 'org.apache.cassandra.locator.LocalStrategy'}
msg | True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '1'}
event | True | {'class': 'org.apache.cassandra.locator.NetworkTopologyStrategy', 'datacenter1': '1'}
system_distributed |是的{'class':'org.apache.cassandra.locator.NetworkTopologyStrategy','datacenter1':'1','datacenter2':'1'} 系统|是的{'class':'org.apache.cassandra.locator.LocalStrategy'} system_traces |是的{'class':'org.apache.cassandra.locator.NetworkTopologyStrategy','datacenter1':'1','datacenter2':'1'}
数据中心:datacenter1
======================= 状态=上/下
| / State =正常/离开/加入/移动
-地址加载令牌拥有主机ID
机架
UN xxxxxx 230.49 KiB 256吗? 6a31597c-a86f-4e01-8f59-425d4f96f5fd rack1
UN yyyyyy 342.55 KiB 256吗? bdc1eb13-9707-4a5f-83f0-1cbfafbc520f rack1
数据中心:datacenter2
======================= 状态=上/下
| / State =正常/离开/加入/移动
-地址加载令牌拥有主机ID机架
UN zzzzzzzz 273.42 KiB 256吗? cc56b7d5-15b7-4744-91f5-2ae2e6ac3a8e rack1
UN tttttttt 281.71 KiB 256吗? 4682ed50-7189-4903-8ed5-7c9bbdb09811 rack1
注意:非系统键空间的复制设置不同,有效的所有权信息毫无意义