首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >集群MSMQ问题

集群MSMQ问题
EN

Stack Overflow用户
提问于 2013-02-04 17:03:48
回答 1查看 3.5K关注 0票数 0

在集群环境中,我遇到了MSMQ问题。我有以下设置:

在Windows故障转移中设置两个节点,让我们称它们为“节点A”和“节点B”。

然后,我设置了一个MSMQ集群实例,让我们将其称为"MSMQ实例“。

我还设置了DTC的集群实例,让我们将其称为"DTC实例“。

在DTC实例中,我既允许本地访问,也允许通过集群实例访问,基本上我已经取消了所有身份验证以进行测试。

我还为我们的内部应用程序创建了一个集群实例,让我们称之为“应用程序实例”。在这个应用程序实例中,我添加了其他资源,它们是应用程序使用的其他服务以及Net.MSMQ适配器。

这个问题..。

当我对应用程序实例进行集群时,似乎总是将所有者设置为与我所使用的节点相反的节点,因此如果我在Node A上创建集群实例,它总是将当前所有者设置为Node B,但这不是问题所在。

我遇到的问题是,只要应用程序实例在Node上运行,MSMQ似乎就能工作。

出站队列在本地创建,接收消息,然后通过MSMQ集群进行处理。

如果我随后故障转移到Node A,MSMQ拒绝工作。未创建出站队列,因此没有处理任何消息。

我在事件查看器中出现了一个错误:

“版本检查失败,错误是:‘无法识别的错误-1072824309 (0xc00e000b)’。无法检测到MSMQ版本的所有在排队通道上的操作都将失败。请确保MSMQ已安装并可用

如果我然后恢复到Node,它就能工作了。

应用程序已经设置为使用MSMQ实例,并且所有权限都是正确的。

我是否需要有一个DTC的集群实例,还是只需将其配置为MSMQ实例中的资源?

有人能像我这样站在砖墙边,对这件事有任何了解吗?

EN

回答 1

Stack Overflow用户

发布于 2013-02-08 12:59:25

是的,您需要有一个集群DTC设置。

对于集群MSMQ实例,需要将集群DTC配置为"dependendy“,右键单击MSMQ -> Properties -> Dependencies

我不知道这是否在所有情况下都是强制性的,但是在我们的集群中,我们也有一个文件共享配置为MSMQ的依赖关系。据我理解,这应该确保MSMQ所需的临时文件在节点切换后仍然可用。

此外,这里有两篇文章,我发现这两篇文章对集群节点的设置非常有帮助。它们可能有助于逐步确认您的配置是正确的:

  • "构建MSMQ集群“。您将在这篇文章中找到其他几个链接,这些链接将进一步指导您。
  • 微软也有一份详细的文档:"在服务器集群中部署消息队列(MSMQ) 3.0“。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14691636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档