Comments (8)
你的理解是正确的,一般是推荐第二种方案,让新节点包括原有 server list,然后去 addPeer。
不过 jraft 提供了另外一种启动方式 NodeImpl#bootstrap(BootstrapOptions)
,主动配置一个新节点,假设你有 snapshot 机制,你还可以主动拷贝 snapshot 到新节点上,然后设置 BootstrapOptions
的 setLastLogIndex
来配置 snapshot 的 log index 启动,这样启动的节点就可以通过 addPeer 添加到现有集群,由于 snapshot 存在,可以加快节点 catchup。
from sofa-jraft.
bootstrap
启动的节点不会发起选举,就是一个“空”的新节点,等待被加入到集群。
from sofa-jraft.
“然后设置 BootstrapOptions 的 setLastLogIndex 来配置 snapshot 的 log index 启动“
这个可以详细说明一下吗?setLastLogIndex的作用是?我理解直接根据本地snapshot目录下的数据恢复不就好了吗?
from sofa-jraft.
因为 Node 是不知道你这个 snapshot 当时的 log index 是多少,这个只有用户才知道。 snapshot 的元信息不一定有设置,跟你的实现有关系,所以是让你主动设置。
from sofa-jraft.
新节点会从 snapshot 的 log index 开始追日志,这也是 snapshot 的作用。如果没有设置 snapshot,那就从 0 开始追,也就不用设置 setLastLogIndex
。
from sofa-jraft.
snapshot之后在onSnapshotSaveDone方法不是会将snapshot的meta信息写入文件吗?其中就包括了snapshot时的log index不是吗?为什么还需要设置?
用户也不知道这个index吧,snapshot在后台定时跑的,用户怎么知道?
from sofa-jraft.
- snapshot 都有日志告诉你 log index,并且 snapshot 的 metadata 的文件名就是 logindex
- 目前设置 last log index 更多还是为了在启动的阶段校验。
from sofa-jraft.
ok,thks
from sofa-jraft.
Related Issues (20)
- 希望尽快适配高版本jdk,目前尝试改动源代码升级到jdk21.启动集群正常,但是CliService工具异常,提示Connection is null when do check! HOT 5
- 能否对新加入的参与者提供自认证机制。或者预留自认证机制接口,让用户自己实现 HOT 15
- 对于rheakv分为:kv数据存储目录以及raft log存储目录。但是参与者之间数据同步处理的是日志目录。那kv数据目录怎么同步了 HOT 1
- 请教个问题:任务应用到多数派状态机决定条件是怎样的???对于kv系统是否因为这个导致数据丢失。 HOT 5
- 请教个问题:有没有配置或者一种机制(比如多长时间后),对于离线的节点,leader心跳检测临时抛弃 HOT 5
- 节点重启有机率出现No locks available,不知道这正常吗?? HOT 3
- 能否通过spi开放集群成员合法性校验,同时允许成员携带额外信息(用户自行实现成员合法性校验时使用) HOT 13
- AssertionError in AppendEntriesRequestProcessor HOT 1
- Commit index may be smaller than snapshot index HOT 1
- 请教问题:jraft的log目录会不会随着系统运行时间而无限增加,有没有清空策略 HOT 4
- 请教个问题:应用到多数派方式是不是可能导致数据丢失。 HOT 1
- fowlloe
- 集群重启时,follower启动失败
- what's the best way to re-add an existing node to the cluster in EKS
- How to verify the legitimacy of a member? HOT 2
- ReadIndex frequently times out. HOT 4
- Unrecycled RPC threads cause OOM HOT 2
- Deadlock on configuration application in NodeImpl when disruptors are full HOT 9
- 压测性能耗时较高,200多ms HOT 2
- 在这种情况下是不是会出现死锁? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sofa-jraft.