【问题标题】:[apache ignite]ignite cache data lost when i create the primary and backup cache[apache ignite]我创建主缓存和备份缓存时点燃缓存数据丢失
【发布时间】:2016-08-18 05:33:38
【问题描述】:

我在两个 jvm 中运行了一个带有两个 ignite 缓存节点的示例。每个 jvm 运行一个 ignite 节点。节点映射到同一个缓存。

ignite-config.xml

<bean class="org.apache.ignite.configuration.IgniteConfiguration">
    ...
    <property name="cacheConfiguration">
        <bean class="org.apache.ignite.configuration.CacheConfiguration">
            <!-- Set a cache name. -->
            <property name="name" value="cacheName"/>
            <!-- Set cache mode. -->
            <property name="cacheMode" value="PARTITIONED"/>
            <!-- Number of backup nodes. -->
            <property name="backups" value="1"/>
            ... 
        </bean>
    </property>
</bean>

测试步骤:

  1. 其中一个ignite节点先启动,写入10条 数据(键值:1-1,2-2,3-3...10-10)。
  2. 然后第二个启动并映射到缓存。
  3. 然后点燃节点开始重新平衡数据 为他们。第一个节点有 4 个,第二个有 6 个。
  4. 然后我杀死第一个缓存节点的 jvm。

结果:备份节点没有像我预期的那样拥有 10 块。为什么?

【问题讨论】:

  • 这不应该发生。您如何检查哪些条目由哪些节点拥有?可以展示一下测试代码吗?
  • @Valentin 我使用 ignitevisorcmd.sh,它提供了一个 cmd:cache -swap 和 cache -scan -c=@c0 -id8=@n0
  • 你杀死一个节点后是否尝试查询缓存?还是您只是使用了 ignitevisorcmd.sh。这也可能是监控软件的一个bug,所以你应该通过查询来测试它是否有密钥。 (不太可能,但有可能)是否会影响您杀死哪个节点?
  • @CarlosBribiescas 也许吧,我明天测试一下。你之前测试过吗?你能给我一个真正有效的例子吗?
  • cache -scan 仅显示我认为的主要条目。节点被杀死后IgniteCache.size()返回什么?

标签: ignite


【解决方案1】:

我不确定为什么ignitevisorcmd.sh 报告密钥丢失。我建议在杀死节点后通过查询来直接查看缓存。或者按照 Valentin 的建议,您可以尝试 IgniteCache.size()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 2017-07-03
    • 1970-01-01
    相关资源
    最近更新 更多