Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从.net访问Azure Windows 2012虚拟机上的Couchbase_Windows_Azure_Couchbase - Fatal编程技术网

从.net访问Azure Windows 2012虚拟机上的Couchbase

从.net访问Azure Windows 2012虚拟机上的Couchbase,windows,azure,couchbase,Windows,Azure,Couchbase,我正在尝试在Azure上设置Couchbase的新实例,但从.net SDK连接时遇到问题 对于设置,我在这里遵循了以下步骤: (在azure虚拟网络上尝试了几次才启动并运行) 已在windows Server 2012 R2上安装版本:2.5.1企业版(build-1083) 我一开始只运行一个VM。中型,只提供沙发床 已在计算机本身和azure云服务上打开azure端口。已根据以下文档在VM防火墙上设置新的入站规则:。在Azure云服务上,我打开了该文档(80918092112101111)

我正在尝试在Azure上设置Couchbase的新实例,但从.net SDK连接时遇到问题

对于设置,我在这里遵循了以下步骤: (在azure虚拟网络上尝试了几次才启动并运行)

已在windows Server 2012 R2上安装版本:2.5.1企业版(build-1083)

我一开始只运行一个VM。中型,只提供沙发床

已在计算机本身和azure云服务上打开azure端口。已根据以下文档在VM防火墙上设置新的入站规则:。在Azure云服务上,我打开了该文档(80918092112101111)中标记为“节点到客户端”的任何内容

浏览器中的一切似乎都很好。从我的开发机器上,我可以从azure VM外部IP加载couchbase。我已经登录并向“默认”bucket添加了一个testdoc。我可以在浏览器中查看此文档,一切看起来都很好

问题是当我开始尝试从.net应用程序访问时。当我尝试.ExecuteGet测试文档时,我收到“无法定位节点”消息,结果文档为空

日志告诉我地址正常,但System.Dns.GetAddrInfo(字符串名)处有一个错误。以下是错误的完整日志:

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)
2014-09-12 14:40:58291[10]调试Couchbase.CouchbasePool[(null)]-初始化Couchbase.CouchbasePool
2014-09-12 14:40:58345[10]警告Enyim.Caching.MemcachedClient[(null)]-创建新客户端。CID:ffcc1454-1146-4fac-94b6-c74dae07ca4b CouchbaseClient
2014-09-12 14:40:58348[10]警告Couchbase.CouchbasePool[(null)]-启动Couchbase.CouchbasePool
2014-09-12 14:40:58468[10]WARN Couchbase.MessageStreamListener[(null)]-启动侦听器。队列=真
2014-09-12 14:40:58485[3]警告Couchbase.MessageStreamListener[(null)]-开始工作。
2014-09-12 14:40:58518[3]WARN Couchbase.MessageStreamListener[(null)]-正在查找第一个工作节点。
2014-09-12 14:40:58621[3]DEBUG Couchbase.ConfigHelper[(null)]-找到bucket默认的配置。
2014-09-12 14:40:58622[3]WARN Couchbase.MessageStreamListener[(null)]-已解析池urlhttp://xx.xxx.xx.xxx:8091/pools 到http://xx.xxx.xx.xxx:8091/pools/default/bucketsStreaming/default?bucket_uuid=d679672b019cff2053f507a2f4fd642a
2014-09-12 14:40:58622[3]警告Couchbase.MessageStreamListener[(null)]-开始接收消息。
2014-09-12 14:40:58661[3]INFO Couchbase.CouchbasePool[(null)]-收到新配置。
2014-09-12 14:40:58717[cbp_thread]INFO Couchbase.CouchbasePool[(null)]-具有vbucket。服务器计数:1
2014-09-12 14:40:58803[cbp_thread]错误Couchbase.CouchbasePool[(null)]-未能初始化池。
System.Net.Sockets.SocketException(0x80004005):请求的名称有效,但未找到请求类型的数据
位于System.Net.Dns.GetAddrInfo(字符串名称)
位于System.Net.Dns.InternalGetHostByName(字符串主机名,布尔值includeIPv6)
位于System.Net.Dns.GetHostAddresses(字符串hostNameOrAddress)
位于Couchbase.CouchbasePool.GetFirstAddress(字符串主机名)
在Couchbase.CouchbasePool.InitVBucket(ClusterConfig配置,ISaslAuthenticationProvider auth)
在Couchbase.CouchbasePool.configurePOOL(ClusterConfig配置)中

我怀疑,由于错误与DNS有关,我在CB机器的配置上搞砸了一些东西,但我没有运气弄清楚是什么。有什么想法吗?

解决了。必须将客户机放在同一虚拟网络上,调整主机文件,最后,更改.net app.config以使用安装couchbase时提供给它的相同主机名

详情如下:

您是否使用IP地址或主机名配置群集?如果是IP地址,则它们是专用IP地址还是公用IP地址。使用内部主机名,并将其映射到主机文件中的内部IP。我这样做的目的是希望将子网上的其他机器投入生产,并且我能够使用公共IP/url从我的开发机器(不在子网上)对其进行开发/测试。必须将客户机放在同一虚拟网络上,调整主机文件,最后,更改.net app.config以使用安装couchbase时提供给它的相同主机名。更详细一点:@brettman-太好了。您是否可以将自己的问题标记为已回答(如有必要,添加您的评论作为回答)?