我已经在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"
}
}
答案 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设置/高级/例外。
问候。