我有在3个VM上运行的Nats Streaming服务器,并且它们是根据NATS官方文档教程进行集群的。每次文件更改时,一个实例都会关闭,然后所有其他实例稍后关闭。
试图更改一些配置文件但没有成功
# NATS specific configuration
port: 4222
cluster {
listen: 0.0.0.0:6222
routes: ["nats://VM-1-IP:6222", "nats://VM-2-IP:6222"]
}
# NATS Streaming specific configuration
streaming {
id: mycluster
store: file
dir: store
cluster {
node_id: "a"
peers: ["b", "c"]
bootstrap: true
sync: true
# log_path: store
raft_election_timeout: "2s"
raft_lease_timeout: "2s"
}
}
例如:某人通过在VM-1上连接进行发布,VM-1收到了消息...片刻之后(可能是在存储消息时),我在一个实例上收到此错误,然后在另一个实例上出现此错误。
VM-0 Terminal
[10913] 2019/07/18 16:25:43.753835 [INF] VM-0-IP:60063 - rid:12 - Router connection closed
[10913] 2019/07/18 16:25:43.754294 [ERR] VM-0-IP:60063 - rid:12 - attempted to connect to route port
panic: interface conversion: stores.SubStore is *stores.RaftSubStore, not *stores.FileSubStore
goroutine 1477 [running]:
github.com/nats-io/nats-streaming-server/stores.(*FileStore).autoSync(0xc00011e600)
/home/envoy-dns/go/src/github.com/nats-io/nats-streaming-server/stores/filestore.go:1329 +0x33c
created by time.goFunc
/usr/local/go/src/time/sleep.go:169 +0x44
exit status 2
答案 0 :(得分:0)
对不起,您的回复很晚。这是master的错误,但未在任何公开发行版中。修复于7月:https://github.com/nats-io/nats-streaming-server/pull/886