我有一个apache点燃集群。
所有节点都分为两个逻辑组:平台级节点( PLN )和应用级节点( ALN )。集群中的每个节点都有:
ALN包含POJO类以使用Ignite缓存,PLN不包含此类,不适合nodeFilter 。
启动时但 PLN (加入带有ALN的群集)尝试应用ALN缓存配置并捕获与应用程序POJO类相关的 ClassNotFoundException 。
如果它不适合nodeFilter,可以点燃服务器节点忽略缓存配置吗?
答案 0 :(得分:0)
所有Ignite节点都需要拥有群集中的所有缓存配置。
nodeFilter
仅限制保存缓存数据的节点集。集群中的所有节点都可以查询任何缓存,因此需要这些信息。
如果需要,可以拥有两个集群,即使在单个JVM(每个节点)内也是如此。这样他们就不会以任何方式进行互动。
答案 1 :(得分:0)
如果在应该在服务器端执行的用户代码中使用二进制对象概念[1],Ignite在大多数情况下都不需要在服务器端的类路径中使用键/值类。
但是,Ignite配置中提到的用户类必须位于所有节点上的类路径中。如果您需要SQL索引并使用二进制对象,则可以在网格启动时通过SQL查询动态创建索引。
请看一下BinaryObject概念[1]。希望它有所帮助。
[1] https://apacheignite.readme.io/docs/binary-marshaller#section-basic-concepts