我正在尝试使用管理 CLI 更改 JBoss/Wildfly 管理服务器中的域控制器 IP 地址,但配置要么保持不变,要么以错误的方式更改。
我可以在 /opt/wildfly/domain/configuration/host-slave.xml 中找到域控制器设置:
<host xmlns="urn:jboss:domain:4.0">
<domain-controller>
<remote security-realm="ManagementRealm">
<discovery-options>
<static-discovery name="primary" protocol="${jboss.domain.master.protocol:remote}" host="${jboss.domain.master.address}" port="${jboss.domain.master.port:9999}"/>
</discovery-options>
</remote>
</domain-controller>
</host>
以下是我迄今为止失败的尝试:
/opt/wildfly/bin/jboss-cli.sh -Djboss.domain.master.address=192.168.57.13
embed-host-controller --host-config=host-slave.xml
set host=`:read-children-names(child-type=host)`
/host=$host/core-service=discovery-options/static-discovery=primary:write-attribute(name=host,value="${jboss.domain.master.address:192.168.57.13}")
/host=$host:write-remote-domain-controller(host=192.168.57.13,port=9999,security-realm=ManagementRealm)
/host=$host:write-remote-domain-controller(host=192.168.57.13, security-realm=ManagementRealm)
/host=$host:write-remote-domain-controller(host=remote,security-realm=ManagementRealm)
重新启动 Wildfly 后,我收到如下错误,表明托管服务器仍然不知道托管域 IP:
WFLYCTL0013: Operation ("add") failed - address: ([
("host" => "gerenciado-centos-7"),
("core-service" => "discovery-options"),
("static-discovery" => "primary")
]) - failure description: "WFLYCTL0211: Cannot resolve expression '${jboss.domain.master.address}'"
我希望改变的设置是host="${jboss.domain.master.address}"
,但是却没有改变。
这是我的托管服务器之一的信息:
cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
JAVA_HOME=/usr /opt/wildfly/bin/standalone.sh -v
...
WildFly Full 10.0.0.Final (WildFly Core 2.0.10.Final)
哪种语法可以正确将我的托管服务器指向正确的域控制器?
我为什么不直接编辑文件呢?因为我需要自动化操作,而且我知道管理 CLI 是安全完成操作的方法。
答案1
首先,CentOS 7 即将停产,这对于企业系统来说并不明智。最好切换到其他 RH 克隆版本(例如 Rocky Linux 9,参见 OP 评论)。您还可以考虑订阅 RedHat Linux,获得所有支持和长期使用寿命的好处。
但更重要的是 WildFly 的版本有问题。这是一个相当老的版本,没有任何支持。所以即使你发现了一个错误(这种情况是可能的),你也不会得到软件的更新。最好将软件迁移到新版本(OP 就是这么做的,切换到 Wildfly 30)。
简而言之:CentOS 7 + Wildfly 10 存在集成问题,报告(在评论中)Wildfly 30 + Rocky Linux 9 运行良好。