Apache Ignite: Недостаточно памяти в области данных [имя = Default_Region, initSize = 256,0 МБ, maxSize = 68,0 ГБ, persistenceEnabled = false] - PullRequest
0 голосов
/ 04 ноября 2019

В нашей рабочей среде Apache Ignite не хватило памяти в области данных, и процесс Ignite был убит. Мы настроили кучи памяти на 68 ГБ. И никакие политики выселения не включены, так как мы не хотим потерять данные из Ignite. Кроме того, мы не включили постоянство, поскольку хотим хранить целые данные только в Ignite.

class org.apache.ignite.internal.mem.IgniteOutOfMemoryException: Out of memory in data region [name=Default_Region, initSize=256.0 MiB, maxSize=68.0 GiB, persistenceEnabled=false] Try the following:
  ^-- Increase maximum off-heap memory size (DataRegionConfiguration.maxSize)
  ^-- Enable Ignite persistence (DataRegionConfiguration.persistenceEnabled)
  ^-- Enable eviction or expiration policies
    at org.apache.ignite.internal.pagemem.impl.PageMemoryNoStoreImpl.allocatePage(PageMemoryNoStoreImpl.java:304)
    at org.apache.ignite.internal.processors.cache.persistence.freelist.AbstractFreeList.allocateDataPage(AbstractFreeList.java:463)
    at org.apache.ignite.internal.processors.cache.persistence.freelist.AbstractFreeList.insertDataRow(AbstractFreeList.java:501)
    at org.apache.ignite.internal.processors.cache.persistence.RowStore.addRow(RowStore.java:97)

Причиной этой ошибки является занятие всей области данных (68 ГБ)? Если да, можем ли мы справиться с этим, прекратив службу Ignite?

1 Ответ

2 голосов
/ 04 ноября 2019

Я думаю, что ошибка в точности соответствует описанию, и все три решения являются действительными.

  1. Предоставьте Ignite больше памяти
  2. Определите политику выселения, чтобы удалить записи, а выне хватает памяти
  3. Используйте постоянство Ignite, которое хранит любые данные, которые не помещаются в память на диске

Если вы не можете выделить больше памяти и хотите сохранитьвсе в Ignite, похоже на вариант 3.

Кроме того, мы не включили постоянство, так как хотим сохранить все данные только в Ignite.

Для ясности:Ignite имеет два вида настойчивости. Постоянство сторонних производителей, когда Ignite сохраняет копию своих данных в устаревшей базе данных. И нативная стойкость , которой управляет Ignite. Предложение выше в основном о последнем

...