我在群集环境中遇到MSMQ问题。我有以下设置:群集MSMQ问题
2在Windows故障转移中设置节点,我们称它们为“节点A”和“节点B”。
然后我设置了一个MSMQ的群集实例,我们称之为“MSMQ实例”。
我还设置了DTC的群集实例,我们称之为“DTC实例”。
在DTC实例中,我允许在本地和通过群集实例进行访问,基本上我已将所有身份验证都关闭以进行测试。
我也创建了我们内部应用程序的集群实例,我们称之为“应用程序实例”。在此应用程序实例中,我添加了其他资源,这些资源是应用程序使用的其他服务以及Net.MSMQ适配器。
的问题.......
当我似乎集群应用程序实例,它似乎总是设置所有者是我使用的是相反的节点,所以如果我创建集群在节点A上的实例始终将当前所有者设置为节点B,但这不是问题。
我遇到的问题是,只要应用程序实例在节点B上运行,MSMQ似乎工作。
出站队列在本地创建,接收消息,然后通过MSMQ群集进行处理。
如果我然后故障转移到节点A,MSMQ拒绝工作。出站队列不会被创建,因此没有消息正在处理。
我在事件查看器中得到一个错误:
“的版本检查失败,出现错误:‘无法识别的错误-1072824309(0xc00e000b)’MSMQ的版本无法检测到所有的操作是排队通道上。将失败确保MSMQ已安装且可用“
如果我故障切换回节点B,它将起作用。
应用程序已被设置为使用MSMQ实例,并且所有权限都是正确的。
我是否需要拥有DTC的群集实例,还是可以将其配置为MSMQ实例中的资源?
有人可以摆脱这种情况,因为我在这个砖墙上?