sofastack / sofa-jraft

A production-grade java implementation of RAFT consensus algorithm.
https://www.sofastack.tech/projects/sofa-jraft/
Apache License 2.0
3.56k stars 1.14k forks source link

请教一下如何删除一个raft组? #994

Closed cumtcool007 closed 8 months ago

cumtcool007 commented 1 year ago

一个数据有若干个分片,当前某个分片有三个副本,leader在127,其他两个fllower节点在128和129上,现在我想删除该分片的raft组,并将同步日志和快照数据删除,应该如何操作比较好? 想法一 依次执行 removePeer(“test”,"127:8081,128:8081,129:8081","129:8081") removePeer(“test”,"127:8081,128:8081","128:8081") removePeer(“test”,"127:8081,127:8081") 但是执行移除leader出现异常,应该是不能移除最后一个节点 想法二 是否可以去每一个节点上把RaftGroupService进行shutdown?

killme2008 commented 1 year ago

既然要删除整个分组了,不需要做什么 removePeer 了,将该 Raft group 做下 shutdown,然后删除对应的目录数据即可,也就是你的想法二。