【问题标题】:How to attach/connect to exising Ignite node如何附加/连接到现有的 Ignite 节点
【发布时间】:2018-05-09 16:29:49
【问题描述】:

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

更多信息:

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

    ignite.bat   

然后,从我的 .NET 应用程序中,我尝试 GetIgnite 以便它连接/附加现有的 ignite 节点,因为它们都在我的本地计算机中。

    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);

【问题讨论】:

  • 问题是什么?如果某些东西不起作用,你得到的错误是什么?请改写您的问题,以便问题更加明显。
  • @PavelTupitsyn 我试图重新表述这个问题。
  • 查看@alamar 的答案。 GetIgnite 不会将您连接到服务器节点。它检索以当前进程启动的节点。
  • 另外你可能对瘦客户端感兴趣apacheignite-net.readme.io/docs/thin-client

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


【解决方案1】:

您应该在进程中启动一个 Ignite Client 节点,以便能够连接到 Ignite 集群,即使“集群”是同一台机器上的一个节点。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多