【问题标题】:Membase Node.IsAlive = False?Membase Node.IsAlive = False?
【发布时间】: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 集群中成功设置和获取值。

有人遇到过这个问题吗?或者对我们在哪里有任何想法 应该想办法解决吗?

谢谢。

【问题讨论】:

标签: c# membase enyim


【解决方案1】:

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

见:http://www.couchbase.org/forums/thread/machine-cant-connect-cluster

【讨论】:

    猜你喜欢
    • 2011-06-06
    • 2011-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多