本文介绍了K/3 Cloud系统中的K3CloudManager服务,其作为代理和计算服务支持系统正常运行。详述了MC与App服务器间的代理管理、关联站点关系、服务日志类型、检查及修改服务端口的方法,并提供了服务注册步骤。同时,指出了服务未启动、端口占用等常见问题的解决方法。
1. 概述
在K/3 Cloud的系统中,存在两个服务:K3CloudJobProcess和K3CloudManager,两者在系统中各司其职,使K3Cloud系统能正常、稳定地运行。
在本文中将对K3CloudManager服务的功能及相关问题进行讲解,主要包含其作用及体现方式,涉及端口、注册方式,也包括各分类对应的常见问题。
2. 服务详情
K3CloudManger服务的主要作用包括两个方面:
1. 作为代理服务对管理站点和应用服务器站点进行管理;
2. 作为计算服务完成业务运算。例如成本计算过程中选择“使用计算服务核算”时会调用K3CloudManager,操纵K3CloudApp站点完成业务计算。
2.1 MC和App服务器的代理服务
从K/3 Cloud系统的设计架构上说,当应用服务器(以下简称App)和管理中心(以下简称MC)部署在不同的电脑上时,由于MC无法直接操纵App的站点或与之建立关联,所以选择了由K3CloudManger服务完成该使命,最明显表现是:
安装补丁时由于补丁程序连接的是管理中心,无法在程序执行的角度直接在App本地完成,故补丁无论在哪台电脑上安装,其实质还是在MC上安装的,所有资源的调用及过程指令均由MC完成,当MC需要对App站点进行升级时,K3CloudManager服务的价值与作用便得到了体现。
2.2 关联站点
与关联站点之间的关系主要有两方面的牵扯:建库过程中的数据中心注册环节以及多应用服务器部署时的配置环节。
对于前者,注册数据中心时需要获取整个cloud部署结构,也包括管理中心与多少个应用服务器进行了连接,根据应用服务器列表,建立一个k3cloud和应用服务器之间关联关系,即关联站点。
对于后者,登录http://MCIP:8000后,选择数据中心后可看到【选项】→【关联站点】信息,其含义是:当客户端访问App站点时能看到的数据中心必须是在MC中已设置关联站点且MC的K3CloudManager服务正常运行。其实从严格意义上来说,多App服务器配置中站点的正常显示,上述条件仅为必要条件,而非充分条件,因为需满足的条件并不止这两个,当服务停止后打开关联站点模块如图-1所示。
图-1 关联站点无法正常显示
2.3 服务日志
服务日志分为两类,其一为服务状态日志,主要记录启动和停止,无太大意义,路径为\K3Cloud\Services\ManagementService\App_Data,其二为服务运行日志,该日志主要记录服务的调用,例如补丁安装、端口修改、关联站点等,具有分析价值,路径为\K3Cloud\Services\ManagementService\Log,如图-2所示。
图-2 服务日志Cloud.log
2.4 检查服务是否正常运行
服务的正常运行依赖端口,端口被占用的结果便是服务无法正常运行,最直观的体现之一便是补丁安装时无法加载数据中心列表,下面做个试验:停止K3CloudManager服务,打开补丁,如图-3所示。
图-3 无法获取数据中心
现将服务重新启动,数据中心正常显示,如图-4。
图-4 获取数据中心正常
同样地,如果8088端口(假设端口为默认值)被其他应用程序占用,可使用下列方法:
开始→运行→cmd,在弹出的DOS窗口中输入“netstat -ano”,如图-5所示。
图-5 使用netstat –ano命令
回车后在显示的信息里找到TCP连接的8088端口所对应的PID,然后打开任务管理器,根据PIS找到对应的进程名,如果不是“Kingdee.BOS.Management.ManagementService.exe”,则将其结束,释放端口,如图-6和图-7所示。
图-6 找到占用端口的PID
图-7 任务管理器中找到对应的进程
此外,还可以借助服务执行程序进行判断:停止K3CloudManager服务,双击K3Cloud\Services\ManagementService\Kingdee.BOS.Management.ManagementService.exe程序,若显示如图-8所示,则表示服务端口未被占用,若如图-9所致,则表示端口已被其他程序占用。
图-8 端口未被占用
图-9 端口被占用
2.5 修改服务端口
K3CloudManager默认占用的主要端口为8088,辅助端口为8087,通常在绝大部分情况下不会使用8087端口,仅使用8088端口。
因特殊情况或个人喜好需要修改服务K3CloudManager服务端口时,可按下列步骤操作:
1. 修改配置文件:{安装目录}\Services\ManagementService\Kingdee.BOS.Management.ManagementService.exe.config;
<appSettings>
<add key="HostProxy" value="net.tcp://localhost:8087/App/hostproxy"/>
<add key="DeployerService" value="net.tcp://localhost:{需要设定的端口号}/App/mservice"/> 如8018
<add key="HostProxy_Http" value="http://localhost:8097/App/hostproxy"/>
<add key="DeployerService_Http" value="http://localhost:8098/App/mservice"/>
</appSettings>
2. 重启K3CloudManager服务
3. 在配置文件中添加下面的项值:{安装目录}\ManageSite\web.config
</appSettings>
......
<add key="ManagementServiceURL" value="net.tcp://localhost:8018/App/mservice"/>
</appSettings>
4.重启IIS
2.6 服务注册方法
在正常情况下K3Cloud在安装过程中会生成并自动启用K3CloudManager与K3CloudJobProcess服务,但当由于操作者对产品安装要求不是很熟悉,在产品安装前没有退出安全软件(例如360安全卫士)时,极可能服务注册的操作被安全软件判定为敏感操作而阻止。
此时注册服务的操作便需要用户手工完成(必须退出甚至可能需要卸载所有安全软件),操作方法如下:
1. 以管理员身份运行cmd.exe;
2. 在弹出的DOS窗口输入下列内容(服务的执行程序路径需要根据实际安装路径自行替换)
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" /i "C:\Program Files (x86)\Kingdee\K3Cloud\Services\ManagementService\Kingdee.BOS.Management.ManagementService.exe"
3. 开始→运行→services.msc,便可以看到已生成的K3CloudManager服务,将其启动并将启动类型设为【自动】即可。
3. 常见问题
3.1 安装补丁时数据中心列表为空
安装补丁时数据中心列表为空主要原因分为以下几种:1. 服务未启动不存在;2. 服务端口被占用;3. 已修改服务端口,但管理中心地址中未加上端口号,具体操作方法请参考2.4-2.6节。
3.2 关联站点无法正常显示
关联站点无法正常显示的常见原因分为两种:1. 服务被安全软件清理;2. 服务未启动或端口被占用,具体解决方案可以参照2.4和2.6节内容。
推荐阅读