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叢集拓撲中。