IgniteFAQ-6-Ignite 通过zk组网时集群组网失败

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集群拓扑中。

posted @ 2024-08-08 13:36  life_start  阅读(7)  评论(0编辑  收藏  举报