【问题标题】:Apache Ignite: How to move WAL to a different location?Apache Ignite:如何将 WAL 移动到不同的位置?
【发布时间】:2021-04-01 14:45:44
【问题描述】:

在相当长的一段时间内,我将 WAL 和 WAL 存档放置在其默认位置。 但现在我想让它远离我存储数据的位置。

当我在代码中更改 WAL 和 WAL 存档位置时,我开始收到与 WAL 段索引和 WAL 指针相关的错误。

java.io.FileNotFoundException: Both compressed and raw segment files are missing in archive [segmentIdx=1234]

将 WAL 位置从一个位置移动到另一个位置的正确方法是什么? 无法找到与此相关的信息。 任何线索将不胜感激。

【问题讨论】:

  • 在节点停止时,您是否将所有 WAL 文件从旧位置复制到新位置?
  • 我没有,这是个好主意。但是,就我而言,这将是一件麻烦事。另外,我并不真正关心现有的缓存数据,我可以放弃现有的数据并重新设置。
  • 如果您不关心它,只需核对现有的持久性文件。他们默认在$IGNITE_HOME/work
  • 这是肯定的一种方法。我相信另一种实现相同目标的方法是将数据和 WAL 文件原样复制到新位置
  • 你也可以这样做,只要确保复制 marshaller dir、db、wal 和 wal 存档。

标签: java caching ignite distributed


【解决方案1】:

看看我的例子

<property name="dataStorageConfiguration" >
            <bean class="org.apache.ignite.configuration.DataStorageConfiguration" >
                <property name="metricsEnabled" value="true"/>
                <property name="defaultDataRegionConfiguration">
                    <bean class="org.apache.ignite.configuration.DataRegionConfiguration">
                        <property name="persistenceEnabled" value="true"/>
                        <property name="metricsEnabled" value="true"/>
                        <property name="name" value="Default_Region"/>
                        <!-- Setting the size of the default region to 6GB. -->
                        <property name="initialSize" value="#{30L* 1024 * 1024 * 1024}"/>
                        <property name="maxSize" value="#{30L* 1024 * 1024 * 1024}"/>
                        <!-- Increasing the buffer size to 2 GB. -->
                        <property name="checkpointPageBufferSize" value="4294967296"/>
                    </bean>
                </property>
                <property name="dataRegionConfigurations">
                    <list>
                        <bean class="org.apache.ignite.configuration.DataRegionConfiguration">
                            <property name="persistenceEnabled" value="true"/>
                            <property name="name" value="InmemoryRegion"/>
                            <property name="maxSize" value="#{1L * 1024 * 1024 * 1024}"/>
                            <property name="initialSize" value="#{1L * 1024 * 1024 * 1024}"/>
                            <property name="pageEvictionMode" value="RANDOM_LRU"/>
                            <property name="metricsEnabled" value="true"/>
                        </bean>
                    </list>
                </property>
                <!-- 2GB Wal Segment Size -->
                <property name="walHistorySize" value="40"/>
                <property name="walSegmentSize" value="#{1048570 * 1024 }"/>
                <property name="pageSize" value="#{16 * 1024}"/>
                <property name="walMode" value="FSYNC"/>
                <property name="storagePath" value="/home/user/db"/>
                <property name="walArchivePath" value="/home/user/walarchive"/>
                <property name="walPath" value="/home/user/pathtowal"/>
                <property name="writeThrottlingEnabled" value="false"/>
                <property name="walCompactionEnabled" value="true"/>
                <property name="alwaysWriteFullPages" value="false"/>
            </bean>
        </property>

【讨论】:

  • ilya,感谢您的回答,但我的设置已经到位。我正在努力将我的 WAL 位置从现有目录移动到新目录。如果你以前做过,请分享你的经验。
猜你喜欢
  • 2016-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-23
  • 2022-01-23
  • 2011-11-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多