Arhn - архитектура программирования

Удалите записи на диск, если они включены и выключены. HEAP. Память заполнена. APACHE IGNITE.

Я использую Apache Ignite ver2.7, запускаю сервер Ignite с настройкой Config.xml.

./ignite.sh $IGNITE_HOME/config/config.xml -J-Xms15g -J-Xmx17g

config.xml содержит

<property name="dataStorageConfiguration">
        <bean class="org.apache.ignite.configuration.DataStorageConfiguration">
            <property name="defaultDataRegionConfiguration">
                <bean class="org.apache.ignite.configuration.DataRegionConfiguration">
                    <property name="persistenceEnabled" value="true"/>
                    <property name="name" value="Default_Region"/>
                    <property name="maxSize" value="#{15L * 1024 * 1024 * 1024}"/>

                    <property name="initialSize" value="#{10L * 1024 * 1024 * 1024}"/>
                   <property name="pageEvictionMode" value="RANDOM_2_LRU"/>
                </bean>
            </property>
        </bean>
    </property>

теперь зажигай давай давай

 OS: Linux 3.10.0-957.10.1.el7.x86_64 amd64
[17:37:06] VM information: Java(TM) SE Runtime Environment 1.8.0_211-b12 Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 25.211-b12
[17:37:06] Please set system property '-Djava.net.preferIPv4Stack=true' to avoid possible problems in mixed environments.
[17:37:06] Configured plugins:
[17:37:06]   ^-- None
[17:37:06]
[17:37:06] Configured failure handler: [hnd=StopNodeOrHaltFailureHandler [tryStop=false, timeout=0, super=AbstractFailureHandler [ignoredFailureTypes=[SYSTEM_WORKER_BLOCKED]]]]
[17:37:07] Message queue limit is set to 0 which may lead to potential OOMEs when running cache operations in FULL_ASYNC or PRIMARY_SYNC modes due to message queues growth on sender and receiver sides.
[17:37:07] Security status [authentication=off, tls/ssl=off]
[17:37:07] Automatically adjusted max WAL archive size to 20.0 GiB (to override, use DataStorageConfiguration.setMaxWalArhiveSize)
[17:37:09] Nodes started on local machine require more than 80% of physical RAM what can lead to significant slowdown due to swapping (please decrease JVM heap size, data region size or checkpoint buffer size) [required=36054MB, available=31929MB]

 [17:37:10] Automatically adjusted max WAL archive size to 20.0 GiB (to override, use DataStorageConfiguration.setMaxWalArhiveSize)
 [17:37:10]   ^-- Disable processing of calls to System.gc() (add '-XX:+DisableExplicitGC' to JVM options)
[17:37:10]   ^-- Speed up flushing of dirty pages by OS (alter vm.dirty_expire_centisecs parameter by setting to 500)
[17:37:10] Refer to this page for more performance suggestions: https://apacheignite.readme.io/docs/jvm-and-system-tuning
[17:37:10]
[17:37:10] To start Console Management & Monitoring run ignitevisorcmd.{sh|bat}
[17:37:10] Data Regions Configured:
[17:37:10]   ^-- Default_Region [initSize=10.0 GiB, maxSize=15.0 GiB, persistence=true]
[17:37:10]
[17:37:10] Ignite node started OK (id=b1fdc603)
[17:37:10] Topology snapshot [ver=1, locNode=b1fdc603, servers=1, clients=0, state=INACTIVE, CPUs=4, offheap=15.0GB, heap=15.0GB]
[17:37:10]   ^-- Baseline [id=0, size=1, online=1, offline=0]
[17:37:10]   ^-- All baseline nodes are online, will start auto-activation

[17:37:10] Performance suggestions for grid  (fix if possible)
[17:37:10] To disable, set -DIGNITE_PERFORMANCE_SUGGESTIONS_DISABLED=true
[17:37:10]   ^-- Enable G1 Garbage Collector (add '-XX:+UseG1GC' to JVM options)
[17:37:10]   ^-- Set max direct memory size if getting 'OOME: Direct buffer memory' (add '-XX:MaxDirectMemorySize=<size>[g|G|m|M|k|K]' to JVM options)
[17:37:10]   ^-- Disable processing of calls to System.gc() (add '-XX:+DisableExplicitGC' to JVM options)
[17:37:10]   ^-- Speed up flushing of dirty pages by OS (alter vm.dirty_expire_centisecs parameter by setting to 500)

и связан с клиентом, который создается в приложении dotnet со следующими кодами С #

 if (igniteClient == null)
  {
   var client = new IgniteClientConfiguration
    {
      Host = IP
    };
    igniteClient = Ignition.StartClient(client);
    for(int i=0;i<n;i++)
    {
      igniteClient.GetOrCreateCache<int, HISTORICALDATAWithOHLC>(CacheConf);
/*HISTORICALDATAWithOHLC is a structure of OHLC*/
    }
 }

и создание нескольких кешей ... после создания n кешей .. сбой клиента.

Ошибка показывает сторону сервера

[17:43:25,974][SEVERE][exchange-worker-#43][CacheAffinitySharedManager] Failed to initialize cache. Will try to rollback cache start routine. [cacheName=FOSECOINDOHLC]
class org.apache.ignite.IgniteCheckedException: Requested DataRegion is not configured: defaultRegion
        at org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager.dataRegion(IgniteCacheDatabaseSharedManager.java:688)
        at org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreManager.initForCache(FilePageStoreManager.java:514)
        at org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreManager.initializeForCache(FilePageStoreManager.java:310)
        at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:2115)
        at org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.processCacheStartRequests(CacheAffinitySharedManager.java:898)
        at org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.onCacheChangeRequest(CacheAffinitySharedManager.java:798)
        at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onCacheChangeRequest(GridDhtPartitionsExchangeFuture.java:1231)
        at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:738)
        at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2667)
        at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2539)
        at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
        at java.lang.Thread.run(Thread.java:748)
[17:43:25,979][SEVERE][client-connector-#98][ClientListenerNioListener] Failed to process client request [req=o.a.i.i.processors.platform.client.cache.ClientCacheGetOrCreateWithConfigurationRequest@6c99a7f8]
javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException: Requested DataRegion is not configured: defaultRegion
        at org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1337)
        at org.apache.ignite.internal.IgniteKernal.getOrCreateCache0(IgniteKernal.java:3023)
        at org.apache.ignite.internal.IgniteKernal.getOrCreateCache(IgniteKernal.java:2992)
        at org.apache.ignite.internal.processors.platform.client.cache.ClientCacheGetOrCreateWithConfigurationRequest.lambda$process$0(ClientCacheGetOrCreateWithConfigurationRequest.java:57)
        at org.apache.ignite.internal.processors.platform.client.ClientRequest.runWithSecurityExceptionHandler(ClientRequest.java:70)
        at org.apache.ignite.internal.processors.platform.client.cache.ClientCacheGetOrCreateWithConfigurationRequest.process(ClientCacheGetOrCreateWithConfigurationRequest.java:57)
        at org.apache.ignite.internal.processors.platform.client.ClientRequestHandler.handle(ClientRequestHandler.java:57)
        at org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:162)
        at org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:45)
        at org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:279)
        at org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109)
        at org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(GridNioAsyncNotifyFilter.java:97)
        at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
        at org.apache.ignite.internal.util.worker.GridWorkerPool$1.run(GridWorkerPool.java:70)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: class org.apache.ignite.IgniteCheckedException: Requested DataRegion is not configured: defaultRegion
        at org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager.dataRegion(IgniteCacheDatabaseSharedManager.java:688)
        at org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreManager.initForCache(FilePageStoreManager.java:514)
        at org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreManager.initializeForCache(FilePageStoreManager.java:310)
        at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:2115)
        at org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.processCacheStartRequests(CacheAffinitySharedManager.java:898)
        at org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.onCacheChangeRequest(CacheAffinitySharedManager.java:798)
        at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onCacheChangeRequest(GridDhtPartitionsExchangeFuture.java:1231)
        at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:738)
        at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2667)
        at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2539)
        at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
        ... 1 more

Я поискал в Интернете и нашел официальный сайт Ignite

<bean class="org.apache.ignite.configuration.CacheConfiguration">
...
<!-- Enable swap. -->
<property name="swapEnabled" value="true"/> 
...
</bean>

по этой настройке сервер зажигания не запускается

и я применил

var cacheCfg = new CacheConfiguration
{
   EnableSwap = true
};

этот код к моему коду С #, но свойство EnableSwap не существует

я хочу ...

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


Ответы:


1

В случае включения персистентности Ignite будет автоматически вытеснять данные из памяти на диск, вам не нужно настраивать свойство pageEvictionMode.

Что касается исключения, которое у вас есть, я думаю, это довольно ясно из сообщения об исключении:

Запрошенный DataRegion не настроен: defaultRegion

Похоже, что в CacheConfiguration вы выбрали неправильное имя региона (поскольку вы изменили имя для региона по умолчанию). В случае использования только одного региона по умолчанию, вы можете просто удалить имя для этого региона и вообще не настраивать имя региона для кешей.

09.05.2019
  • Я удалил имя региона по умолчанию, но при создании нескольких кешей возникла новая ошибка. сообщение об ошибке. `[19: 49: 19,742] [SEVERE] [grid-nio-worker-client-listener-0- # 29] [ClientListenerProcessor] Не удалось обработать ключ селектора [ses = Grid SelectorNioSessionImpl [worker = ByteBufferNioClientWorker [readBuf = java.nio .HeapByteBuffer [pos = 0 lim = 8192 cap = 8192], ` 09.05.2019
  • Это не настоящая ошибка, это просто следствие, пожалуйста, поделитесь полным файлом журнала 09.05.2019
  • Не могли бы вы поделиться полными журналами с клиентских и серверных узлов, а не только одним сообщением? 09.05.2019
  • Полный журнал ошибок на стороне сервера и на стороне клиента ... Журнал ошибок Ignite 10.05.2019
  • Это не полные журналы, а всего несколько сообщений, я попросил предоставить полные файлы журналов с самого начала узлов. 10.05.2019
  • Вы снова пытаетесь использовать DataRegion, который не был настроен: Запрошенный DataRegion не настроен: inMemoryRegionGhanshyam 10.05.2019
  • Извините за файл журнала Wronge ... Я прикрепил новый файл журнала, проверьте Новый Журнал 10.05.2019
  • В журнале я вижу: Возможна слишком длинная пауза JVM: 27662 миллисекунды. Вероятно, это была долгая пауза сборщика мусора (это можно проверить, включив журнал сборщика мусора). Похоже, вы создаете много кешей (›550), каждый кеш имеет накладные расходы (однако он не такой большой), вероятно, имеет смысл использовать cacheGroup, чтобы значительно уменьшить эти накладные расходы: apacheignite.readme.io/docs/cache-groups 10.05.2019
  • Большое спасибо, это сработало ... Я новичок в Ignite и использую Ignite в качестве основной базы данных, но у меня также есть много проблем. 1. Моя основная цель состояла в том, чтобы создать несколько таблиц в одном кеше, но после создания таблиц в кеше Ignite не позволяет создавать таблицы в существующем кеше. вот почему я создаю несколько кешей. 2. Как я могу использовать процедуры в Ignite? 3.Как я могу подключить Ignite к стороннему постоянному устройству? 4. Когда я запускаю сервер Ignite из приложения dotnet с постоянным включением, откуда я активирую кластер. Пожалуйста, дайте полезное сообщение ... 10.05.2019
  • Давайте продолжим это обсуждение в чате. 10.05.2019
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..