zk组网类
ZookeeperDiscoverySpi zkDiscoverySpi = new ZookeeperDiscoverySpi();
cfg.setDiscoverySpi(zkDiscoverySpi);
配置示例:
# ignite 集群租房方式,配置 zk 为,zk 集群组网方式
fc.mybatis.ignite.discovery=zk
# Ignite zk 集群组网方式
ignite.discoverySpi.zkConnectionString={zkAddress}
ignite.discoverySpi.sessionTimeout=30000
ignite.discoverySpi.zkRootPath=/apacheIgnite
ignite.discoverySpi.joinTimeout=30000
zk jute.maxbuffer设置小于1024时会导致Ignite通过zk组网失败
原因:1)ignite启动时第一个节点为coordinate节点,后启动节点会与第一个节点交换元信息数据后再加入ignite集群。
2)由于joinDataSize较大,会导致节点处理超过10s,从而导致ignite节点启动失败。
3)由于joinDataSize较大,zk服务端会报错超过默认数据大小,从而导致ignite不同节点无法完成数据交换,从而超时导致节点启动失败。
解决:1)调整discoverSpi.joinTimeout时间变大(默认10s)。
2)调整SEE 平台zk 的配置参数jute.maxbuffer 变大 (默认 1 对应实际配置1024000)。
原因:节点未自动加入拓扑
解决方式:在ignite启动后通过ignite.cluster().setBaselineTopology(baseLineNodes) 方式添加节点到ignite集群拓扑中。