如何在主DC停机时故障转移DC

时间:2018-02-14 10:15:58

标签: jboss wildfly jboss-eap-7

我正在使用JBoss EAP 7并根据本指南测试DC故障转移: https://access.redhat.com/solutions/1247783

一切都运行良好,直到我停止DomainController并尝试将JBoss CLI连接到Host1,我无法与host1建立cli连接,并出现以下错误:

/opt/jboss-eap-7.0/bin/jboss-cli.sh --connect --controller=192.168.56.127:39999
Failed to connect to the controller: The controller is not available at 192.168.56.127:39999: java.net.ConnectException: WFLYPRT0053: Could not connect to http-remoting://192.168.56.127:39999. The connection failed: WFLYPRT0053: Could not connect to http-remoting://192.168.56.127:39999. The connection failed: Connection refused.

netstat -tpln显示端口39999处于活动状态。

我认为host1没有配置为DC,这可能是cli与它连接的错误响应的原因,我认为host1中的host-slave.xml可能存在一些错误,这里有一些摘要:

<domain-controller>
    <remote security-realm="ManagementRealm">
        <discovery-options>
            <static-discovery name="primary" protocol="${jboss.domain.master.protocol:remote}" host="192.168.56.11" port="${jboss.domain.master.port:9999}"/>
        </discovery-options>
    </remote>
</domain-controller>

我使用以下shell启动host1:

/opt/jboss-eap-7.0/bin/domain.sh --backup \
-Djboss.domain.base.dir=/opt/mytest/m3/domain/ \
--host-config=host-slave.xml  \
-Djboss.bind.address.management=192.168.56.127 \
-Djboss.domain.master.address=192.168.56.11 \
-Djboss.management.native.port=39999

有人可以给我一些指导吗?

祝你好运

1 个答案:

答案 0 :(得分:1)

  • 这是因为,除非已配置,否则jboss-cli客户端会尝试根据端口号猜测要使用的协议。由于JBoss EAP 7使用http-remoting而不是远程处理(由JBoss EAP 6使用),当您使用非默认本机端口时,客户端猜测它可能是JBoss EAP 7。

您可以尝试在 jboss-cli.xml 文件中添加控制器:

<controllers> 
<controller name="example"> 
<protocol>remoting</protocol> 
<host>host.example.com</host> 
<port>39999</port> </controller> 
</controllers>

并将 - controller 参数中的命名控制器传递给jboss-cli。(sh | bat)脚本:

./jboss-cli.sh --connect --controller=example

或者,您也可以将协议与控制器位置一起传递,以避免编辑jboss-cli.xml文件:

./jboss-cli.sh --connect --controller=remoting://host.example.com:39999
  • JBoss EAP 7正在 8080 提供HTTP请求。确保没有其他服务器版本/实例正在运行