如何修复 Ignite 启动警告

How to fix Ignite startup warnings

以下配置创建了 ignite 启动时的警告列表。怎么解决?

<?xml version="1.0" encoding="utf-8"?>
<igniteConfiguration localhost="127.0.0.1" autoGenerateIgniteInstanceName="true" peerAssemblyLoadingMode="CurrentAppDomain" 
                    xmlns="http://ignite.apache.org/schema/dotnet/IgniteConfigurationSection">
  <discoverySpi type="TcpDiscoverySpi">
    <ipFinder type="TcpDiscoveryMulticastIpFinder">
      <endpoints>
        <string>127.0.0.1:47500..47502</string>
      </endpoints>
    </ipFinder>
  </discoverySpi>
  <jvmOptions>
    <string>-DIGNITE_QUIET=true</string>
    <string>-DIGNITE_PERFORMANCE_SUGGESTIONS_DISABLED=true</string>
  </jvmOptions>
  <logger type="Apache.Ignite.NLog.IgniteNLogLogger, Apache.Ignite.NLog" />
</igniteConfiguration>

警告如下

  1. org.apache.ignite.internal.util.typedef.G,未提供Ignite工作目录,自动解析为....

    我们是否需要为每个节点(包括客户端和服务器)专门设置一个唯一的目录? igniteConfiguration workDirectory='..' 是否支持相对路径?在 asp.net Web 部署的情况下是否需要设置 ignite_home?

  2. org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi,消息队列限制设置为 0,当 运行 在 FULL_ASYNC 或 PRIMARY_SYNC 中缓存操作时可能导致潜在的 OOME由于发送方和接收方的消息队列增长而导致的模式。

    当我们将 messaequeuelimit 设置为 1024(默认)值时,是否需要显式将 slowClientQueueLimit 值设置为小于 messaequeuelimit? (communicationSpi type='TcpCommunicationSpi' messageQueueLimit='1024') 参考线程

  3. org.apache.ignite.spi.checkpoint.noop.NoopCheckpointSpi,禁用检查点(以启用配置任何 GridCheckpointSpi 实现)

    当 ignite 配置为 运行 纯内存且持久性关闭时,我们可以忽略此警告吗?

  4. org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing,已启用 H2 中 Java 个对象的序列化。

  5. org.apache.ignite.internal.processors.platform.PlatformProcessorImpl,Marshaller自动设置为o.a.i.i.binary.BinaryMarshaller(其他节点必须具有相同的marshaller类型)。

  1. 您可以为所有节点提供相同的目录,Ignite 将在该目录中为每个节点创建一个子目录。这个警告是关于:小心,你没有明确提供工作目录,ignite 会自动解析这个目录,如果你需要它,你应该努力在你的文件系统中找到它。

  2. 如果省略 msgQueueLimit,则默认值为 0,您将收到此警告。如果显式设置此参数,最好显式设置 slowClientQueueLimit。

  3. 此警告与来自 IgnitePersistenceStorage 的检查点无关。这是关于来自 ComputeGrid 的检查点(只是术语中的冲突)。它是一种存储作业中间结果的机制。您可以忽略此警告。

  4. 根据 Ignite 和 H2 来源 [1] Ignite 检查来自 h2 引擎的“h2.javaObjectSerializer”系统 属性,默认情况下为真。如果它是真的,打印这个 warnign 并以任何方式将它设置为 false。要避免此警告,您可以将此系统 属性 显式设置为 false。

  5. 这只是一个警告,提醒您不要显式配置编组器,Ignite 使用默认编组器,并确保每个节点上都有相同的编组器。要隐藏此警告,您可以明确设置相同的编组器 (org.apache.ignite.internal.binary.BinaryMarshaller)。

[1] https://github.com/apache/ignite/blob/master/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java#L2095