假如我们现在有多台Windows Server 2008服务器做服务集群,首先考虑的是在各台服务器要安装ArcGIS Server的哪些东西,当然你可以在所有的服务器上安装ArcGIS Server所有的东西,这虽然不会出什么错误,但这样做一般都是要被鄙视的.
我们首先得选一台服务器,作为管理服务及服务容器的管理器,在这台服务器上安装Server Object Manager,其它的服务器作为服务的容器,安装Server Object Container(当然你同时也可以在管理器上安装Server Object Container,好像一般也都是这么干的.打个比方吧,比如管理技术人员的技术经理,除了管理自己和其他技术人员外,也要做和技术人员一样的工作,所以选一台最好的服务器来扮演SOM和SOC的双重角色吧~)。因为我们安装的服务器上不会放供浏览器访问的Web应用程序,所以Web Appliation及开发框架都不需要安装.
安装完成后就需要进行PostInstall的操作了,ArcGIS Server里面有两种类型的PostInstall,分别是GIS Server Post Install和Web Applications Post Install,GIS Server Post Install要在每台服务器上进行,Web Applications Post Install是在安装了IIS和Web ADF开发框架的Web服务器上进行了,这里显然不需要进行.我们知道在GIS Server Post Install的时候,会建立默认名为arcgisManager,ArcGISSOM,ArcGISSOC的三个Windows帐号,第一个帐户大家应该都比较熟悉,它是登陆ArcGIS Manager页面用于管理服务的帐户,后面的2个帐号我原来的认识也比较肤浅,只知道它们是文档上所说GIS Server使用的帐号.对于单服务器的很多用户来说,在进行Post操作时,可以用administrator这个已有的系统管理帐号来替换默认的ArcGISSOM和ArcGISSOC用来减少登陆帐户数(arcgisManager也可以用administrator来替代,偶就是这么干的~)
但对于多台服务器并做服务集群时,这么弄就会有问题,比如你启动一个最少实例数为20的地图服务,并希望把这20个实例分散在多台服务器上运行,我们知道ArcSOM进程的启动是用户是ArcGISSOM,ArcSOC进程的启动用户是ArcGISSOC(这个都不知道的自己去资源管理器里面看)ArcSOM用来管理ArcSOC.如果多台服务器上的SOC Account和SOM Account的用户名和密码都不相同,那么服务的管理器SOM怎么来管理呢?服务怎么分布式运行呢?(你可以不用默认的ArcGISSOM和ArcGISSOC,但你必须保证所有的服务器有相同名字和密码的SOM Account和SOC Account)说完了用户再来说说组,ArcGIS Server会建立agsadmin和agsusers这两个用户组,它们和ArcGISSOM与ArcGISSOC没有什么关系,但和arcgisManager有关系,arcgisManager用户是属于agsadmin组的,你可以把管理服务及服务容器的用户加入agsadmin组,把使用服务的用户加入agsusers组(很多人包括原来的偶把agsadmin和agsusers都赋予管理帐户,其实只需要agsadmin就可以了,大权限已经包含了小权限)Post完成后,建议重新启动一下电脑,虽然文档上没有这么要求,但个人建议你还是重新启动下~(如果有时你的人品不好,可能需要重新Post和重启)在每台服务器的基础安装完成后,开始进行文件夹配置,首先配置的是GIS server用到的文件夹,默认位置为C:\arcgisserver,你可以在ArcGIS Manager或ArcCatalog修改GIS server所用文件夹路径。
其下面包含了用于cache,jobs和output用途的子文件夹,就拿做地图切片的缓冲文件夹来说,如果路径为C:\arcgisserver\arcgiscache这个本地路径,那么其它服务器怎么把地图切片存放进来呢?所以第一步就是共享文件夹,让局域网内的其它服务器都能使用该文件夹,而且在设置GIS server缓存文件夹目录的时候也要修改为"\\mapserver\arcgisserver"的样子。然后还要设置文件夹的共享权限(还是在文件夹属性的共享标签页内),给SOM用户完全控制的权限,给SOC用户更改的权限,如果你搞不清楚或者不想搞清楚,统统都给最高权限拉~(事先申明这样做在用户安全管理和权限控制方面会有问题,如果这块出了问题,不要来找我啊)
我们还要设置NTFS文件夹本身的安全权限,在文件夹属性的安全标签页中,给SOM用户完全控制的权限,给SOC用户读和写的权限,如果搞不清楚,可见上述方法~
然后我们还要共享log文件夹及修改其访问权限,步骤和C:\arcgisserver的设置一样.你可以不进行相关设置,但如果你其它的SOC机器出了问题,那么错误信息就不会记录,这样ERSI技术工程师的售后服务就要大打折扣了~
最后一个文件夹是服务用到的数据文件夹,我们可以采用2种方式,第一种是上述的共享方法,这样做的缺点是其它服务器上的服务访问数据时可能不够快.第二种方法是在本台服务器上的相同位置都放一份数据文件的的拷贝,在设地图服务数据源的时候,可以不用设为共享文件路径("\\mapserver\mxds\test.mxd" ),可以设为如C:\mxds\test.mxd这样的本地路径,这样每个服务器上的服务都使用本地数据源.
【编辑推荐】