8.3. 启动受管域


8.3.1. 启动受管域

可使用 JBoss EAP 提供的 domain.shdomain.bat 脚本启动域控制器和主机控制器。有关所有可用启动脚本参数及其目的的完整列表,请使用 --help 参数或查看 服务器运行时参数 部分。

域控制器必须在域中任何服务器组中的任何从属服务器之前启动。首先启动域控制器,然后启动域中的任何其他关联的主机控制器。

启动域控制器

使用 host-master.xml 配置文件启动域控制器,该文件预配置了专用的域控制器。

$ EAP_HOME/bin/domain.sh --host-config=host-master.xml

根据您的域设置,您需要进行额外的配置来允许主机控制器连接。另请参阅以下示例域设置:

启动主机控制器

使用 host-slave.xml 配置文件启动主机控制器,该文件预配置了从属主机控制器。

$ EAP_HOME/bin/domain.sh  --host-config=host-slave.xml

根据您的域设置,您需要进行额外的配置连接,而不与域控制器冲突。另请参阅以下示例域设置:

8.3.2. 配置域控制器

重要

在使用 RPM 安装方法安装 JBoss EAP 时,不支持在同一计算机上配置多个域或主机控制器。

将主机配置为作为域控制器的 Act

如果在 <domain -controller> 声明中包含 <local /> 元素,则主机被指定为域控制器

<domain-controller>
  <local/>
</domain-controller>

用作域控制器的主机必须公开可由域中的其他主机访问的管理接口。不需要公开 HTTP (S)管理界面,但建议使用,因为它允许访问管理控制台。

<management-interfaces>
  <native-interface security-realm="ManagementRealm">
    <socket interface="management" port="${jboss.management.native.port:9999}"/>
  </native-interface>
  <http-interface security-realm="ManagementRealm" http-upgrade-enabled="true">
    <socket interface="management" port="${jboss.management.http.port:9990}"/>
  </http-interface>
</management-interfaces>

EAP_HOME/domain/configuration/host-master.xml 文件已预先配置了这些设置,以充当域控制器。

8.3.3. 配置主机控制器

重要

在使用 RPM 安装方法安装 JBoss EAP 时,不支持在同一计算机上配置多个域或主机控制器。

连接到域控制器

必须为主机控制器提供连接域控制器的方法,以便它可以将自身注册到域。这在配置的 < domain-controller& gt; 项中进行配置。

<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>

EAP_HOME/domain/configuration/host-slave.xml 文件已预先配置了这些设置,以连接到域控制器。启动主机控制器时,您将需要提供 jboss.domain.master.address 属性。

$ EAP_HOME/bin/domain.sh --host-config=host-slave.xml -Djboss.domain.master.address=IP_ADDRESS

有关域控制器发现的更多信息,请参阅 域控制器发现和故障切换 部分。

根据您的域设置,您可能还需要为主机控制器提供身份验证,供域控制器进行身份验证。如需了解生成具有 secret 值的 管理用户以及使用该值更新主机控制器配置的详细信息,请参阅在两个机器上设置受管域。

8.3.3.1. 配置主机的名称

在受管域中运行的每个主机必须具有唯一的主机名。为了简化管理并允许在多个主机上使用相同的主机配置文件,服务器使用以下优先级来确定主机名:

  1. 如果设置,host.xml 配置文件中的 host 元素 name 属性。
  2. jboss.host.name 系统属性的值。
  3. 遵循 jboss.qualified.host.name 系统属性中最终句点(.)字符的值,如果没有最终句点(.)字符,则取整值。
  4. 遵循基于 POSIX 的操作系统的 HOSTNAME 环境变量中的句点(.)字符、Microsoft Windows 的 COMPUTERNAME 环境变量或整个值(如果没有最终句点(.)字符)。

主机控制器的名称在相关 host.xml 配置文件的 host 元素中配置,例如:

<host xmlns="urn:jboss:domain:4.0" name="host1">

使用以下步骤使用管理 CLI 更新主机名。

  1. 启动 JBoss EAP 主机控制器。

    $ EAP_HOME/bin/domain.sh --host-config=host-slave.xml
  2. 启动管理 CLI,连接到域控制器。

    $ EAP_HOME/bin/jboss-cli.sh --connect --controller=DOMAIN_CONTROLLER_IP_ADDRESS
  3. 使用以下命令设置新的主机名:

    /host=EXISTING_HOST_NAME:write-attribute(name=name,value=NEW_HOST_NAME)

    这会修改 host-slave.xml 文件中的主机名属性,如下所示:

    <host name="NEW_HOST_NAME" xmlns="urn:jboss:domain:4.0">
  4. 重新加载主机控制器,以使更改生效。

    reload --host=EXISTING_HOST_NAME

如果主机控制器未在配置文件中设置名称,您也可以在运行时传递主机名。

$ EAP_HOME/bin/domain.sh --host-config=host-slave.xml  -Djboss.host.name=HOST_NAME

8.3.4. 域控制器发现和故障切换

在设置受管域时,必须为每个主机控制器配置与域控制器联系所需的信息。在 JBoss EAP 中,每个主机控制器都可配置多个选项来查找域控制器。主机控制器迭代选项列表,直到成功为止。

这允许主机控制器预先配置了备份域控制器的联系信息。如果主域控制器存在问题,则备份主机控制器可以提升到 master,允许主机控制器在提升新 master 后自动失败。

以下是如何使用多个选项配置主机控制器,以查找域控制器:

示例:具有多个域控制器选项的主机控制器

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

静态发现选项包括以下所需属性:

name
此域控制器发现选项的名称。
主机
远程域控制器的主机名。
port
远程域控制器的端口。

在上例中,第一个发现选项是成功的一个发现选项。第二个可用于故障转移。

如果主域控制器出现问题,可以通过 --backup 选项启动的主机控制器提升为充当域控制器。

注意

使用 --backup 选项启动主机控制器将导致控制器维护域配置的本地副本。如果主机控制器重新配置为充当域控制器,则将使用此配置。

将主机控制器提升为域控制器
  1. 确保原始域控制器已停止。
  2. 使用管理 CLI 连接到属于新域控制器的主机控制器。
  3. 执行以下命令,将主机控制器配置为充当新的域控制器。

    /host=HOST_NAME:write-local-domain-controller
  4. 执行以下命令,以重新加载主机控制器:

    reload --host=HOST_NAME

此主机控制器现在将充当域控制器。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.