You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同一主机能否运行多个solana-test-validators?本地集群节点研究需求

可行性结论

完全可行。Solana的本地测试集群专门支持多验证节点部署,完全可以用来研究基于Tower BFT的领导权调度、轮换及故障切换机制。

解决你的节点启动与同步问题

你之前的操作错误在于没让节点加入同一个集群网络,而是启动了两个独立的单节点实例。以下是正确的本地多节点集群搭建步骤:

1. 一键启动双节点集群

直接用solana-test-validator命令初始化并启动双节点集群:

solana-test-validator --num-nodes 2 --ledger ./shared-ledger

这个命令会自动:

  • 创建共享账本目录./shared-ledger,所有节点共用同一创世区块和集群状态
  • 启动两个节点,自动完成 gossip 发现与账本同步,无需额外配置

2. 手动分步启动节点(适合调试)

如果需要分步控制节点启动,先初始化集群基础配置:

solana-test-validator --ledger ./shared-ledger --init-only

启动第一个节点(初始领导者):

solana-test-validator --ledger ./shared-ledger --node-id 0 --rpc-port 8899 --gossip-port 8000

启动第二个节点(加入集群):

solana-test-validator --ledger ./shared-ledger --node-id 1 --rpc-port 8900 --gossip-port 8001 --bootstrap-validator 127.0.0.1:8000

关键要点:

  • 所有节点必须使用同一个账本目录,否则会形成独立网络
  • 第二个节点通过--bootstrap-validator指定第一个节点的gossip地址,完成集群加入
  • 每个节点要指定不同的node-id、rpc-port、gossip-port避免端口冲突

3. 验证集群状态与领导权切换

  • 查看集群节点信息:
solana cluster-info --url http://localhost:8899

会显示两个活跃节点及当前领导者。

  • 模拟领导权切换:直接停止初始领导者节点,再次执行solana cluster-info,会看到新的领导者被选举出来。
  • 查看轮换日志:节点运行时会输出领导者轮换相关日志,比如new leader scheduled,可通过添加--log ./node0.log参数保存日志文件分析。
注意事项
  • 所有节点必须使用相同版本的Solana,版本不匹配会导致同步失败
  • 本地测试集群默认使用Tower BFT共识,领导权轮换周期可通过配置调整(测试环境可缩短周期方便观察)
  • 不要给不同节点分配独立账本目录,这是你之前出现独立网络的核心原因

内容的提问来源于stack exchange,提问作者Bharat Karia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 04:56:15