hibernate-ogm-ignite-5.3.1.Final启动ignite失败提示集群未激活报错
Caused by: class org.apache.ignite.IgniteException: 无法执行操作,因为集群处于未激活状态。请注意:如果启用了Ignite Persistent Store,集群默认处于未激活状态,以便所有节点都能完成加入集群的操作。您可以调用Ignite.active(true)方法激活集群。
问题根因
该报错核心原因是你开启了Ignite持久化存储功能,Ignite集群默认启动后处于未激活状态,会等待所有预期节点加入完成后再激活,避免数据分片异常。而Hibernate OGM在初始化SessionFactory阶段就要创建/操作实体对应的缓存,此时集群未激活就会抛出异常。
排查步骤
- 检查Ignite配置中是否开启了持久化:确认XML配置里
<dataStorageConfiguration>下的persistentEnabled属性是否为true,或是代码初始化DataStorageConfiguration时调用了setPersistenceEnabled(true) - 确认集群节点启动状态:如果是多节点集群,检查所有预期要加入的节点是否都完成了启动流程
- 确认初始化逻辑顺序:检查你的业务代码是否在初始化Hibernate的
EntityManagerFactory之前,没有执行Ignite集群激活的相关逻辑
解决方案
场景1:开发测试环境、单节点集群
可以直接配置启动自动激活,无需手动操作,有两种实现方式:
配置文件方式
在Ignite的XML配置中添加activeOnStart属性:
<bean class="org.apache.ignite.configuration.IgniteConfiguration"> <!-- 其余原有配置 --> <property name="activeOnStart" value="true"/> <property name="dataStorageConfiguration"> <bean class="org.apache.ignite.configuration.DataStorageConfiguration"> <property name="defaultDataRegionConfiguration"> <bean class="org.apache.ignite.configuration.DataRegionConfiguration"> <property name="persistenceEnabled" value="true"/> </bean> </property> </bean> </property> </bean>
代码初始化方式
如果你的应用是内嵌启动Ignite节点,调整执行顺序,先激活集群再初始化Hibernate:
// 先初始化并启动Ignite节点 IgniteConfiguration cfg = new IgniteConfiguration(); // 填充你的Ignite配置 Ignite ignite = Ignition.start(cfg); // 主动激活集群 ignite.active(true); // 集群激活成功后再初始化Hibernate持久化单元 EntityManagerFactory emf = Persistence.createEntityManagerFactory("igniteWithJpa");
场景2:生产环境多节点集群
生产环境不建议开启自动激活,避免节点未全部加入就激活导致数据分片异常,操作步骤如下:
- 先启动所有预期要加入集群的Ignite节点
- 手动触发集群激活,可选三种方式:
- 调用任意一个已启动节点的
ignite.active(true)方法 - 使用Ignite自带的控制脚本执行激活:
./control.sh --set-state ACTIVE(Windows环境执行control.bat --set-state ACTIVE) - 通过Ignite Web控制台完成集群激活操作
- 调用任意一个已启动节点的
- 确认集群激活成功后,再启动部署了Hibernate OGM的应用,即可正常初始化SessionFactory
注意事项
- hibernate-ogm-ignite 5.3.1.Final适配的是Ignite 2.x版本,不要使用Ignite 3.x版本,避免版本不兼容触发其他未知异常
- 如果应用内嵌启动Ignite节点,必须保证集群激活逻辑在初始化Hibernate持久化单元之前执行,否则仍会触发未激活报错
内容的提问来源于stack exchange,提问作者ShuerWang
相关产品推荐
相关产品推荐

