我们的质量保证环境中有2个网络服务器和1个应用服务器。每个 他们主持一个Membase服务。 为简单起见,我们调用Web服务器:web01和web02。都 运行IIS。
要访问Membase,我们使用.Net客户端:http://memcached.enyim.com/
我们在这里遇到的问题是web01可以访问Membase, 任何时候都可以设置和获取没有任何问题的值。 但是web02似乎无法从我们的Web应用程序访问Membase。
我们编写了一个测试控制台应用程序并从web02服务器运行它 工作得很好。
我们甚至尝试过telnet到web02中的url和端口 配置,这工作。
Membase配置值在machine.config中定义 文件。我们比较了web01和web02之间的machine.config文件w / WinMerge和他们完全相同。
然后我使用反射和创建了我们的MembaseClient对象的转储 这是我们在Web02上得到的:
==========================================
Setting Value: 1337047585
On the Key: testPageKey_287945569
"Setting NOT successful!!"
*Membase Client dump:*
bucketName: OurBucketName
bucketPassword: ThisIsAPassword
poolUrls count: 3
Url_0: http://web01:8091/pools/OurBucketName
Url_1: http://web02:8091/pools/OurBucketName
Url_2: http://app01:8091/pools/OurBucketName
Node: 69.147.125.66:11210 is alive: False
Node: 69.147.125.67:11210 is alive: False
Node: 69.147.125.68:11210 is alive: False
==========================================
请注意最后3行如何提及Node IsAlive = False ......这个 对我来说非常令人费解,因为web01说所有的节点都还活着 Membase管理控制台也是如此。 再次从我们的测试应用程序(包括web02)运行,我们可以在QA Membase集群中成功设置和获取值。
有人遇到过这个问题吗?或者对我们的位置有任何想法 应该寻求解决它?
感谢。
答案 0 :(得分:1)
发现了这个问题。它与服务器上的.Net安装有关。并非所有人都安装了所需的.Net 3.5 SP1。您需要SP1才能使Enyim库正常工作。
请参阅:http://www.couchbase.org/forums/thread/machine-cant-connect-cluster