Membase Node.IsAlive = False?

时间:2011-07-08 22:11:50

标签: c# membase enyim

我们的质量保证环境中有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集群中成功设置和获取值。

有人遇到过这个问题吗?或者对我们的位置有任何想法 应该寻求解决它?

感谢。

1 个答案:

答案 0 :(得分:1)

发现了这个问题。它与服务器上的.Net安装有关。并非所有人都安装了所需的.Net 3.5 SP1。您需要SP1才能使Enyim库正常工作。

请参阅:http://www.couchbase.org/forums/thread/machine-cant-connect-cluster