如何连接/连接到现有的Ignite节点

时间:2018-05-09 16:29:50

标签: c# .net apache ignite in-memory-database

获取" 无法获得默认Ignite实例:没有实例启动。"尝试连接时(使用 Ignition.GetIgnite())。

更多信息:

我正在尝试使用Apache Ignite作为我的内存数据库。 我的计划是在服务器中启动Ignite实例,然后使应用程序连接到该实例。 我从具有默认配置的命令行启动了apache点燃

    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>

               

工作版: 我可以开始&#34;点燃&#34;从应用程序内部执行内存数据库操作,例如使用不同的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 :(得分:2)

您应该在流程中启动Ignite Client节点,以便能够连接到Ignite群集,即使&#34; cluster&#34;是同一台机器上的一个节点。

复制配置,将clientMode设置为true,以Ignition.start()启动它。