Cassandra集群管理-替换异常节点
替换异常集群节点,使用JVM启动标志 Dcassandra.replace_address_first_boot = <dead_node_ip>启动。一旦启用此属性,节点将在休眠状态中启动,在此期间所有其他节点将看到此节点关闭。替换节点将立即开始从集群中的其余节点引导数据。 新节点的正常引导的主要区别在于此新节点在此阶段不会接受任何写入。一旦引导完成,节点将被标记为“UP”,我们依赖于隐性启动保障新节点数据独立存在。(因为自引导开始以来新节点不接受写)。
如果替换过程所需的时间超过max_hint_window_in_ms,那么您必须运行repair以使所放置的节点再次保持一致,因为它在引导期间错过了正在进行的写入。
查看集群状态
root@kubm-01 ~Datacenter: dc1
-- Address Load Tokens Owns Host ID Rack
.
异常节点状态为DN
DN .101.166 MiB ? 88e16e35-50dd-4ee3-aa1a-f10a8c61a3eb rack1
替换节点-注意事项
修改配置文件
/etc/cassandra/conf/jvm.options 如果要替换已死亡的节点,请在其位置重新启动指定死节点地址的新节点。 新节点的数据目录中不得包含任何数据.
行
修改配置文件:
-Dcassandra.replace_address.101.166
清理无用数据、启动服务
执行前删除下列文件夹及内容:- data/
- commitlog/
- saved_caches/
-rf /var/lib/cassandra/启动:
/etc/init.d/cassandra start
等待集群数据恢复完成,验证集群状态:
root@kubnode-02 cassandraDatacenter: dc1
Up/Down
/ Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
UN .101.164 MiB ? dcbbad83-fe7c-4580-ade7-aa763b8d2c40 rack1
UN .101.165 MiB ? b985de23-6ad1-40b9-a252-dbaeb5d4cb12 rack1
恢复》UN .101.166 KiB ? f9a72fb2-55bd-40ec-b8e7-717404b80f19 rack1
UN .101.167 MiB ? 8808aaf7-690c-4f0c-be9b-ce655c1464d4 rack1
UN .101.160 MiB ? 57cc39fc-e47b-4c96-b9b0-b004f2b79242 rack1
UN .101.157 MiB ? 091ff0dc-415b-48a7-b4ce-e70c84bbfafc rack1
验证查询
cqlsh .101.157 -u cassandra -p cassandra cassandra@cqlsh SELECT * from kevin_test.t_users
user_id emails first_name last_name
---------+---------------------------------+------------+-----------
, kevin6 kang
, kevin7 kang
, kevin9 kang
, kevin4 kang
, kevin3 kang
, kevin5 kang
, kevin0 kang
, kevin8 kang
, kevin2 kang
, kevin1 kang
测试结果:
反复重启节点,查询表内容正常。
还没有评论,来说两句吧...