Настройка каталога снепшотов#

По умолчанию сегменты снепшотов хранятся в рабочем каталоге соответствующего узла DataGrid. Этот сегмент использует тот же носитель, на котором DataGrid Persistence хранит данные, индексы, WAL и другие файлы. Снепшоты могут занимать столько же места, сколько файлы Persistence, поэтому рекомендуется хранить их на разных носителях. Совместное использование дискового ввода-вывода снепшотов с подпрограммами DataGrid Persistence может снизить производительность приложения.

Чтобы избежать взаимного влияния DataGrid Native Persistence и создания снепшотов:

  • измените каталоги, в которых хранятся файлы Persistence — подробнее написано в разделе «Персистентность DataGrid»;

  • или измените расположение снепшотов по умолчанию, как показано в примере ниже.

<bean class="org.apache.ignite.configuration.IgniteConfiguration">
    <!--
       Устанавливает путь к корневому каталогу для хранения файлов снепшотов.
       По умолчанию каталог `snapshots` находится в `IGNITE_HOME/db`.
    -->
    <property name="snapshotPath" value="/snapshots"/>

    <property name="cacheConfiguration">
        <bean class="org.apache.ignite.configuration.CacheConfiguration">
            <property name="name" value="snapshot-cache"/>
        </bean>
    </property>

</bean>
IgniteConfiguration cfg = new IgniteConfiguration();

File exSnpDir = U.resolveWorkDirectory(U.defaultWorkDirectory(), "ex_snapshots", true);

cfg.setSnapshotPath(exSnpDir.getAbsolutePath());