【发布时间】:2011-10-01 15:30:18
【问题描述】:
我们的 QA 环境中有 2 个 Web 服务器和 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 文件 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 集群中成功设置和获取值。
有人遇到过这个问题吗?或者对我们在哪里有任何想法 应该想办法解决吗?
谢谢。
【问题讨论】:
-
这个问题还没有解决,但是在 Membase Google 群里已经有一些跟进的问题了:groups.google.com/group/membase/browse_thread/thread/…