Couchbase .Net驱动程序问题“无法定位节点”

时间:2014-03-18 08:56:18

标签: .net couchbase

我已经在Amazon EC2上安装了Couchbase服务器并尝试使用VisualStudio C#构建客户端。

可以通过网络界面从我的电脑访问Couchbase。我可以添加和修改数据。 但是从C#开始它并没有起作用:得到"无法定位节点"错误。 与此同时,Fiddler展示了一些"握手"正在发生:我的测试程序在与Couchbase建立连接时获取了一些元数据。但任何读取或写入数据的尝试都会失败。

以下港口开放:11211,8091,8092,22,11210,21100 - 21299,11209,4369 (但关闭防火墙并没有帮助)

以下是我的测试计划。非常感谢任何帮助。

App.config中:

<configuration>
  <configSections>
    <section name="couchbase" type="Couchbase.Configuration.CouchbaseClientSection, Couchbase"/>
  </configSections> 
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <couchbase>
  <servers bucket="mybucket" username="Administrator" password="xxxxxxxxx">
    <add uri="http://XXX.XXX.XXX.XXX:8091/pools"/>
  </servers>
  </couchbase>
</configuration>

代码:

public static void Run()
{
    System.Configuration.Configuration cfg = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    ICouchbaseClientConfiguration section = cfg.GetSection("couchbase") as ICouchbaseClientConfiguration;
    using (CouchbaseClient client = new CouchbaseClient(section))
    {
        MyData mydata= new MyData();
        mydata.MyName= "bla-bla";
        IStoreOperationResult res = client.ExecuteStore(StoreMode.Set, "1", mydata);
        System.Diagnostics.Debug.WriteLine("*************************************************************");
        if (!res.Success)
            System.Diagnostics.Debug.WriteLine(res.Message); // writes "Unable to locate node"
    }
}

3 个答案:

答案 0 :(得分:3)

您可能需要按照此处的文档来描述使用云中的主机名而不是IP地址,看看是否有帮助!

编辑:实际使用以下文章,特别是如何使用公共DNS设置couchbase节点名称! http://blog.couchbase.com/cross-data-center-replication-step-step-guide-amazon-aws

我将留下指向更高级别官方文档的以下链接。

云概述中的Couchbase:http://docs.couchbase.com/couchbase-manual-2.2/#handling-changes-in-ip-addresses

Couchbase主机名配置:http://docs.couchbase.com/couchbase-manual-2.2/#couchbase-getting-started-hostnames

答案 1 :(得分:0)

发现这一点 - 它对我的影响完全相同。

http://www.couchbase.com/communities/q-and-a/unable-locate-node-error-net-sdk

编辑:以上链接已被破坏。现在就在这里。 https://forums.couchbase.com/t/unable-to-locate-node-error-net-sdk/258

答案 2 :(得分:0)

另一个问题可能导致此错误被开发环境中的防火墙阻止。 您可以通过在IE中绕过couchbase ip server解决此问题:工具/ Internet选项/连接/ LAN设置/高级/例外。

问候。