Как подключить / подключиться к существующему узлу Ignite - PullRequest
0 голосов
/ 09 мая 2018

Получение " Не удалось получить экземпляр Ignite по умолчанию: экземпляры не запущены. " при попытке подключения (с использованием Ignition.GetIgnite () ).

Дополнительная информация:

Я пытаюсь использовать Apache Ignite в качестве базы данных в памяти. Я планирую запустить экземпляр Ignite на сервере, а затем подключить к нему приложение. Я запустил apache ignite из командной строки со стандартной конфигурацией

    ignite.bat   

Затем из моего приложения .NET я попытался GetIgnite, чтобы он подключал / подключал существующий узел воспламенения, поскольку оба они были на моей локальной машине.

    var ignite = Ignition.GetIgnite();

Это моя конфигурация в web.config

    <configSections>
<section name="igniteConfiguration" type="Apache.Ignite.Core.IgniteConfigurationSection, Apache.Ignite.Core" />
 </configSections>
 <igniteConfiguration xmlns="http://ignite.apache.org/schema/dotnet/IgniteConfigurationSection"
                    localhost="127.0.0.1" peerAssemblyLoadingMode="CurrentAppDomain">
   <atomicConfiguration atomicSequenceReserveSize="10" />
 </igniteConfiguration>

Рабочая версия: Я мог бы запустить «Ignite» из приложения и выполнять операции с базой данных в памяти, такие как кэширование данных с другим ICache, а затем присоединяться для получения данных. Но эта версия не будет масштабируемой.

     //for some reason I have to set the environment variable like this
     Environment.SetEnvironmentVariable("IGNITE_HOME", "C:\\test\app\\packages\\Apache.Ignite.2.4.0\\");
     // Start Ignite and retrieve cache
     _ignite = Ignition.StartFromApplicationConfiguration();

     CacheConfiguration config = new CacheConfiguration("MyProduct", typeof(MyProduct));
     config.CacheMode = CacheMode.Local;
     ICache productList = _ignite.GetOrCreateCache<string, MyProduct>
                                    (config);

1 Ответ

0 голосов
/ 10 мая 2018

Вы должны запустить узел Ignite Client в своем процессе, чтобы иметь возможность подключаться к кластеру Ignite, даже если «cluster» - это один узел на одном компьютере.

Скопируйте конфигурацию, установите для clientMode значение true, запустите его с Ignition.start().

...