部署和编辑服务配置文件

安装服务二进制文件后,还必须部署服务配置文件来注册服务。 可以在每个节点上集中或本地注册服务。 通过集中注册,可以维护群集上部署的服务列表,以及从单个位置管理配置和故障排除设置。 本主题介绍服务注册方法,并包括将服务集中注册到头节点上的默认服务注册文件夹的过程。

在本主题中:

服务注册方法

服务配置文件是一个 XML 文件,用于在群集上注册服务、配置服务行为以及自定义中转站与服务交互的方式。 例如,可以在单个服务级别定义中转站行为,例如监视、消息限制和负载均衡。 有关详细信息,请参阅 Microsoft HPC Pack中的 SOA 服务配置文件。

服务配置文件必须命名为 servicename.config,其中 servicename 与传入 SessionStartInfo 构造函数相同。 文件必须至少指定服务的注册信息,例如服务 DLL 的路径。

群集管理员必须具有对服务配置文件的写入权限,才能更改服务注册和配置设置。

下表描述了服务注册选项:

注册方法 描述
中央注册 部署到中心位置的服务配置文件可以在 HPC 群集管理器中管理。 可以使用头节点上的默认服务注册文件夹,例如:

%CCP_HOME%\ServiceRegistration

此文件夹共享为:

\\<头节点>\HPCServiceRegistration\

可以通过设置群集环境 CCP_SERVICEREGISTRATION_PATH来更改服务注册文件夹的默认位置。 可以指定用分号分隔的多个路径(;))。 此变量的工作方式与 PATHS 适用于 cmd.exe的方式相同。 例如,在命令提示符处,可以使用以下命令:

cluscfg setenvs CCP_SERVICEREGISTRATION_PATH=\\<server>\<share>\ 重要提示: 中心服务注册文件夹可以是头节点、代理节点和计算节点可以访问和读取的任何共享文件夹。 群集管理员必须对共享文件夹拥有完全控制权限,以便可以将配置文件安装到该路径。
本地注册 若要在本地注册服务 DLL,请将已完成的服务配置文件放置在位于 %CCP_HOME%\ServiceRegistration的服务注册文件夹中的每个节点上。

如果使用本地注册,则还必须将服务配置文件复制到中转站节点和头节点。
在 Windows Azure 节点上注册 若要注册将在 Windows Azure 节点上运行的服务,必须将服务配置文件的副本放置在本地群集上,该位置可供头节点和 WCF 代理节点访问(例如头节点上的服务注册文件夹)。

此外,还必须打包服务配置文件的副本以及部署到 Windows Azure 存储帐户的服务程序集和任何依赖 DLL。 注意: 若要更改服务配置设置,只需更新服务配置文件的本地副本。

有关如何将 SOA 服务部署到 Windows Azure 工作器节点的信息,请参阅 将 SOA 服务上传到 Windows Azure 存储帐户

在头节点上集中注册服务

以下过程介绍如何将配置文件集中部署到默认服务注册文件夹。 在 HPC 群集管理器的 服务中,可以管理头节点上 ServiceRegistration 文件夹中具有配置文件的所有 SOA 服务。

注册和配置服务

  1. 在头节点上,将服务配置文件复制到 C%CCP_HOME%\ServiceRegistration 文件夹中。

  2. 在 HPC 群集管理器中,单击 配置,然后单击 服务

  3. 视图窗格显示 ServiceRegistration 文件夹中具有配置文件的所有服务的列表。 验证刚刚添加的服务是否显示在列表中。

  4. 右键单击服务,然后单击 编辑配置文件。 服务配置文件将在默认 XML 编辑器中打开。

    重要

    对于运行 Windows Server 2008 R2 的计算机:如果使用 WCF 服务配置编辑器(SvcConfigEditor.exe)编辑服务配置文件,extendedProtectionPolicy 属性将添加到该文件。 此属性仅在 Windows Server 2008 R2 及更高版本的 Windows Server 操作系统上受支持。 如果计算节点已安装 Windows Server 2008,则应从服务配置文件中删除此属性。

    此外,SvcConfigEditor.exe 不提供对自定义字段(如 XLL 路径)的可见性。

  5. 确保 service 元素的 assembly 属性指向服务 DLL 的位置。 这可以是群集上共享目录的路径,也可以是每个计算节点上的本地路径。

    例如,如果将 DLL 本地部署到名为 Services 的文件夹(C:\Services\<yourServiceName>.dll),则属性的定义如下:

    <microsoft.Hpc.Session.ServiceRegistration>  
        <service assembly="C:\Services\<yourServiceName>.dll">  
    </microsoft.Hpc.Session.ServiceRegistration>  
    
  6. 保存更改(如果有)然后关闭文本编辑器。

  7. 若要验证是否可以加载服务,请右键单击该服务,然后单击 运行 SOA 服务加载诊断测试

  8. 将显示 运行诊断测试 对话框,所选服务会自动在测试的参数中指定。 单击 运行

  9. 若要查看测试结果:在 诊断中,在 导航窗格中,单击 测试结果。 有关详细信息,请参阅 查看测试结果

其他参考