从.net访问Azure Windows 2012 VM上的Couchbase

我试图在Azure上build立一个新的Couchbase实例,并且无法从.net SDK连接。

对于设置,我已经按照这里的步骤: http : //blog.couchbase.com/step-step-production-deployment-couchbase-windows-azure-virtual-machines (花了几次尝试,以获得这个在azure色的虚拟networking)

在Windows Server 2012 R2上安装了Version:2.5.1企业版(build-1083)。

我只运行一个虚拟机开始。 中等大小,除了沙发基地以外什么也没有。

在机器本身和azure色的云服务上都开放了azure色的端口。 根据以下文档,在VM防火墙上设置了新的入站规则: http : //docs.couchbase.com/couchbase-manual-2.0/#network-ports 。 在Azure云服务上,我从该文档(8091,8092,11210,11211)中打开了标记为“node to client”的任何内容。

在浏览器中似乎一切正常。 在我的开发机器上,我可以从Azure VM外部IP加载couchbase。 我已经login并将testdoc添加到“默认”存储区。 我可以在浏览器中查看这个文件,而且看起来不错。

问题是当我开始尝试从.net应用程序访问。 当我尝试执行.Execute获取testdoc时,我得到'无法find节点'消息,并且生成的文档为空。

日志告诉我,地址是好的,但在System.Dns.GetAddrInfo(string名称)有一个错误。 这是完整的日志到错误:

2014-09-12 14:40:58,291 [10] DEBUG Couchbase.CouchbasePool [(null)] <(null)> - Initializing Couchbase.CouchbasePool 2014-09-12 14:40:58,345 [10] WARN Enyim.Caching.MemcachedClient [(null)] <(null)> - Creating new client. CID: ffcc1454-1146-4fac-94b6-c74dae07ca4b CouchbaseClient 2014-09-12 14:40:58,348 [10] WARN Couchbase.CouchbasePool [(null)] <(null)> - Starting Couchbase.CouchbasePool 2014-09-12 14:40:58,468 [10] WARN Couchbase.MessageStreamListener [(null)] <(null)> - Starting the listener. Queue=True 2014-09-12 14:40:58,485 [3] WARN Couchbase.MessageStreamListener [(null)] <(null)> - Started working. 2014-09-12 14:40:58,518 [3] WARN Couchbase.MessageStreamListener [(null)] <(null)> - Looking for the first working node. 2014-09-12 14:40:58,621 [3] DEBUG Couchbase.ConfigHelper [(null)] <(null)> - Found config for bucket default. 2014-09-12 14:40:58,622 [3] WARN Couchbase.MessageStreamListener [(null)] <(null)> - Resolved pool url http://xx.xxx.xx.xxx:8091/pools to http://xx.xxx.xx.xxx:8091/pools/default/bucketsStreaming/default?bucket_uuid=d679672b019cff2053f507a2f4fd642a 2014-09-12 14:40:58,622 [3] WARN Couchbase.MessageStreamListener [(null)] <(null)> - Start receiving messages. 2014-09-12 14:40:58,661 [3] INFO Couchbase.CouchbasePool [(null)] <(null)> - Received new configuration. 2014-09-12 14:40:58,717 [cbp_thread] INFO Couchbase.CouchbasePool [(null)] <(null)> - Has vbucket. Server count: 1 2014-09-12 14:40:58,803 [cbp_thread] ERROR Couchbase.CouchbasePool [(null)] <(null)> - Failed to initialize the pool. System.Net.Sockets.SocketException (0x80004005): The requested name is valid, but no data of the requested type was found at System.Net.Dns.GetAddrInfo(String name) at System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6) at System.Net.Dns.GetHostAddresses(String hostNameOrAddress) at Couchbase.CouchbasePool.GetFirstAddress(String hostname) at Couchbase.CouchbasePool.InitVBucket(ClusterConfig config, ISaslAuthenticationProvider auth) at Couchbase.CouchbasePool.ReconfigurePool(ClusterConfig config) 

我怀疑,因为错误是DNS相关的,我已经搞砸了CB机器的configuration,但我没有运气搞清楚什么。 有任何想法吗?

Solutions Collecting From Web of "从.net访问Azure Windows 2012 VM上的Couchbase"

得到了解决。 不得不把客户端机器放在同一个虚拟网络上,调整主机文件,最后,改变.net app.config来使用我在安装时给出的主机名。

更多细节在这里: http : //forums.couchbase.com/t/access-couchbase-on-azure-windows-2012-vm-from-net/1580/5