ArcGIS Server集群部署
1 几个重要的概念
1.1 服务、池化、实例
使用ArcGIS Server发布一个地图服务,发布服务的同时会要求定义池化的类型、最小最大实例数。用户请求一个service时,是和该service的一个instance打交道。service有pooled(池化)和nonpooled(非池化)两种。
low isolation
pooled
service
nonpooled
high isolation
? Nonpooled创建最小个数实例,一个实例启动一个ArcSOC.exe。
? Pooled:low isolation 是指一个ArcSOC.exe进程可以保有多个实例(也就是
多线程);high isolation 一个实例占用一个进程。lowisolation的好处是可以启动相对少的ArcSOC.exe来维持同样数量的instance,节约服务器的内存资源;但如果一个ArcSOC.exe崩溃,那么里面的所有instance都会被销毁。
1.2 SOM、SOC
ArcGISServer是由一个SOM(Server Object Manager)和若干个SOC(Server ObjectContainer)机器组成。
SOM会在机器里以ArcGISSOM账户启动一个ArcSOM.exe的进程,这个进程负责管理(启动和停止)其他SOC进程(ArcSOC.exe),SOC进程虽然是由SOM启动,但是以ArcGISSOC账户运行的。ArcSOM.exe启动时,会自动启动两个ArcSOC.exe,一个用于记录AGS的日志,一个用于清空特定的工作目录。这两个ArcSOC.exe在任务管理器中可以根据所占用的内存数与其他ArcSOC.exe区分开来,占用内存较少的两个ArcSOC.exe便是由SOM进程自动启动的,而其他的ArcSOC.exe则是由具体service启动的。
SOC可以安装在多台机器上,是服务对象的宿主。每台SOC机器可以产生多个ArcSOC.exe,一个ArcSOC.exe可以运行多个服务对象,ArcSOC.exe是由SOM来管理。
SOM与SOCs是一对多的关系,SOM相当于公交站,SOCs相当于公交车.有任务了,SOM分配任务给SOCs,SOCs是真正的执行者。SOM下添加多个SOCs是为了分担负载,减少多个并发用户的时候请求的等待时间。
一个关于服务、池化、实例、SOM、SOC进程的例子。 Eg:现在机器上总共有2个服务:
World: pooled, low isolation(8 instance per process), min-instance:9, max-instance:16; 随即启动max-instance:4, 手动启动。
分析:开机,SOM启动一个arcsom.exe,随后启动两个arcsoc.exe;World服务启动,创建9个instance,其中8个instance公用一个arcsoc.exe,剩下一个instance启动另外一个arcsoc.exe。此时机器中共有1个arcsom.exe,4个arcsoc.exe。然后手动启动China服务,创建2个instance,每个instance会启动一个arcsoc.exe。此时,机器中共有1个arcsom.exe,6个arcsoc.exe。
China: non pooled,min-instance:2,
2 分布式安装
ArcGISServer分布式安装提供了基于DCOM的负载均衡方法。系统利用多台服务器搭建,以满足大用户量图形服务需求。系统工作流程为:客户端发送请求到SOM,SOM将分配资源提供给客户端,通过SOM对SOC进行调配和管理。
通过分布式部署,有以下优点:
? 高可靠性(HA)。利用集群管理软件,当主服务器发生故障时,备份服务器
能够自动接管主服务器的工作,并及时切换过去,以实现对用户的不间断服务。
? 高性能计算(HP)。即充分利用集群中的每一台服务器的资源,实现复杂运
算的并行处理。
? 负载均衡。即把负载压力根据某种算法合理分配到急群众的每一台服务器上,
以减轻主服务器的压力,降低对主服务器的硬件和软件要求。 系统工作流程
部署流程
安装ArcGIS Server
配置DCOM安全策略
连接Server
发布虚拟路径发布地图服务
2.1 安装ArcGIS Server
根据部署要求,将在A、B两台服务器上安装ArcGIS Server,其中A服务器作为主要服务器部署完整的SOM/SOC组件,B服务器只需要部署SOC组件。确保A、B两台机器在同一个域下。(机器名A:HostSOM,B:HostSOC)
2.1.1 安装程序(具体过程在此不作详述)
在此选择安装SOM和SOC。
2.1.2 进行Post Installation
根据向导执行后,会新增SOM、SOC和管理服务3个账户,并自动将SOM账户加入到本地agsadmin组,SOC账户加入到本地agsusers组。
然后还需要进行授权认证,经过授权认证的服务器才能运行SOC。
2.1.3 添加用户和组关联
手动将桌面登陆用户加入到这两个组中,这两个组控制SOM和SOC的访问限制。此步操作后,需要重启机器。
2.1.4 设置防火墙
在两台机器上分别进行设置,关闭防火墙,或添加防火墙例外。(为避免后面出现未知访问错误,建议直接关闭防火墙)
? 点击“添加程序”,将ArcSOM.exe 添加到例外,ArcSOM.exe 在安装目录的
bin 文件夹下面(例如:..\\Program Files\\ArcGIS\\bin\\ArcSOM.exe )。(SOC机器忽略)
? 点击“添加程序”,将ArcSOC.exe 添加到例外,ArcSOC.exe 在安装目录的bin
文件夹下面(例如:..\\Program Files\\ArcGIS\\bin\\ArcSOC.exe )。
? 点击“添加端口”,添加一个端口:名称:Web Port(http),端口号:80,类
型:TCP,点击“确定”。
? 再次点击“添加端口”,再次添加一个端口:名称:DCOM(ArcGIS Server),端
口号:135,类型:TCP,点击“确定”。