现在的位置: 首页 > 综合 > 正文

ArcGIS Server 9分布式部署

2012年07月20日 ⁄ 综合 ⁄ 共 3964字 ⁄ 字号 评论关闭

摘要

本文详细介绍如何将ArcGIS Server 9系列产品(已验证9.0/9.1版本),部署于Windows域环境下,从而实现SOMServer Object Manager)和SOCServer Object Container)的分布特性。

本文价值

ArcGIS Server 9系列产品采用了面向服务的企业级应用系统架构。为应对企业级应用的高性能要求,ArcGIS Server提供了基于DCOM的负载平衡方法。但实施部署时往往遇到困难,所以本文将对部署过程进行说明。

场景

Windows Server 2003操作系统和ArcGIS Server 9.0软件版本为例,进行部署过程说明。现假设两台服务器分别为A B。其中A被配置成Windows域控制器,将SOMSOC分别部署在A B两台服务器中。

ArcGIS Server部署

部署结构

       ArcGIS Server系列产品进行分布部署时,系统安全性依赖Windows域的支持。以经过Windows域授权的用户身份运行ArcGIS Server SOM/SOC,并以具有访问SOM/SOC权限的用户身份运行ArcGIS Catalog,才能够管理ArcGIS Server

ArcGIS Server的部署结构图如下:


部署流程

 

建立Windows域

建立一个Windows域,需要一台Window 2000或者Windows Server 2003服务器,提供DNS域名服务并升级为域控制器。

n         DNS域名服务器

A服务器上安装DNS域名服务:启动“添加/删除Windows组件”程序,选中“网络服务域名系统(DNS)”,安装即可。

安装完成后配置DNS,为本DNS服务赋予一个合适的域名如“apple.dcqtech.com”,可为DNS配置一个上级转发DNS,本DNS无法解析的IP将转发到上级DNS进行解析。

最后将本机的DNS服务器IP指向本机,以后其他加入到域中的计算机都需要将本DNS服务器设置为它们的主DNS服务器。

n         域控制器

启动A服务器“windows\system32\dcpromo.exe”域管理程序,该程序可用于新建和删除域控制器。

创建域控制器时会将当前服务器上的管理员administrator用户提升为域管理员用户,而当前服务器上的其他非管理员用户也会被自动提升为域用户,对于本计算机的资源来说用户对应的权限未发生改变。

域控制器安装成功后,将另外一台B服务器加入到A服务器管理的Windows域中。

安装ArcGIS Server

       根据部署的要求,将在A B两台服务器上安装ArcGIS Server,其中A服务器作为主要服务器将部署完整的SOM/SOC组件,B服务器只需部署SOC组件。

1.         安装过程

安装ArcGIS Server的方法分为两个步骤:

n         第一步,复制文件到计算机,按默认选项进行复制即可;

n         第二步,进行Post Installation。该程序运行界面如下:

Post Installation向导程序将在当前计算机上安装SOMSOC,并进行授权认证。经过授权认证的服务器才能够运行SOC

Post Installation向导程序接着将提示输入SOMSOC在本机运行时使用的用户帐号和密码。在这里设置的用户帐户可以是已有帐户也可以是新帐户(可为本地帐户或域帐户),向导程序会将SOM帐户加入到本地agsadmin组、将SOC帐户加入到本地agsusers组,同时还需要手动将桌面登录用户加入到这两个组中。这两个组实际控制SOMSOC的访问限制。关于权限配置问题后续章节还将详细介绍。

值得注意的是,如果不需要安装SOM而只安装SOC,可使用命令行“arcgis\bin\ServerPostInstall.exe /containeronly”进行安装,详细的参数说明见其帮助文档。

Post Installation之后还将提示用户进行认证等,依次安装即可。

2.         测试安装

Post Installation安装完成后,通过ArcGIS Catalog测试本机ArcGIS Server是否安装成功。

打开ArcGIS Catalog,点击“GIS ServerAdd ArcGIS Server”,出现如下对话框:

输入本机名称或“localhost”后,点击确认后即可连接。此时可能出现的错误是提示无法连接,很有可能是由于用户权限问题造成,可检测一下当前桌面登录用户是否隶属于agsadmin组和agsusers组。

连接成功后可对该服务器进行配置,通过Server Properties选项激活配置界面,如下图所示:

可设置分布式SOCHost标签)、url出图虚拟目录(Directories标签)等,请参考后续章节和相关文档了解详情。

配置域用户安全策略

域用户安全策略可由下图进行概括(图中各个Server为逻辑划分):

n         ArcGIS Web Services Account提升为Domain ArcGIS Web Services Account域用户。

n         SOM Account提升为Domain SOM Account域用户。

n         SOC Account提升为Domain SOC Account域用户

n         在部署有WebServer的服务器上,将Domain ArcGIS Web Services Account域用户和Domain Admin Users Group域管理用户组加入到本地Administrators组中。

n         在部署有SOMServer的服务器上,将Domain ArcGIS Web Services Account域用户、Domain SOM Account域用户和Domain Admin Users Group域管理用户组加入到本地agsadmin组。
Domain ArcGIS Web Services Account域用户、Domain SOC Account域用户和Domain Users Group域管理用户组加入到本地agsusers组。
配置对应的目录访问权限和DCOM访问权限,关于DCOM访问权限的配置见后续章节。

n         在部署有SOCServer的服务器上,将Domain ArcGIS Web Services Account域用户、Domain SOM Account域用户和Domain Admin Users Group域管理用户组加入到本地agsadmin组。
Domain ArcGIS Web Services Account域用户、Domain SOC Account域用户和Domain Users Group域管理用户组加入到本地agsusers组。
配置对应的目录访问权限和DCOM访问权限,关于DCOM访问权限的配置见后续章节。

 

A服务器上,作为域控制器,可使用“管理工具”中的“Active Directory用户和计算机工具”进行域用户安全策略的配置。如下图所示:

       Windows域中,具有域管理员权限的用户可以在任何一台安装Windows2000以上版本操作系统和管理工具包的计算机上对域中的用户和计算机权限进行设置。关于域的配置问题请参考MCSE 相关文档。

       如需要在域控制器上直接修改域中某台计算机的本地用户权限,例如在A上直接修改B服务器的本地用户权限,将Domain SOM Account加入到B本地的agsadmin组中,方法如下图所示:

 

配置DCOM安全策略

域用户安全策略图中显示,在SOMServerSOCServer中需要将对应的DCOM组件访问权限授予合法用户和组。

整个ArcGIS Server基于DCOM架构,从表现来说,建立Windows域就是为了能够通过域集成权限管理DCOM访问安全性。

SOMServerSOCServer服务器上,分别存在名为ArcSOMArcSOCDCOM组件。通过“管理工具”中的“组件服务”工具进行权限配置(或在“运行”中输入“dcomcnfg”激活该工具)。工具界面如下图所示:

       通过设置DCOM组件的访问权限,可为域用户赋予合法的身份。在基于DCOM的分布式环境中核心安全问题即是如何为DCOM组件设置访问权限,配置合理的域用户和组是这一设置过程的前提。在ArcGIS Server部署成功后,也可能在应用过程中遇到DCOM权限问题,可参考本文处理。

连接ArcGIS Server

       域用户和DCOM安全策略配置成功后,可通过ArcGIS Catalog连接ArcGIS Server。连接成功后,可通过设置ArcGIS Server SOM属性来添加异地的SOC。请注意一个SOM可以同时管理多个SOC,但一个SOC只能同时被一个SOM管理。例如在A B服务器上都安装了SOMSOC,如果A SOM要管理B SOC,就必须先将B SOM默认管理的B SOC删除。配置界面如下图所示:

点击确认后,如系统提示“访问受限制”类似的消息,请检查目标服务器的DCOM访问权限是否授予了本地运行SOM的帐户和运行Arc Catalog的帐户。

结论

通过安装和权限配置,可将ArcGIS Server部署于分布式环境中。多台服务器上运行SOC能够有效分担负载,提高系统性能。

思考

实现了SOMSOCWindows域中的分布式部署,基于DCOM的程序能够顺利运行。但分布式部署中还有很多具体问题需要设计和处理,例如如何保证所有的SOC访问数据的一致性,访问ArcSDE或者访问本地文件都应有各自的处理方式。这些问题目前尚未能一一进行实践处理,在后续的开发过程中还将继续总结。

抱歉!评论已关闭.