技术服务支持部NCC安装部署及技术特性王子旭2019.7个人简介姓名:王子旭部门:高端BG-技术服务支持部职务:技术支持工程师认证:用友高级开发工程师、用友高级技术工程师、Oracle12cCertifiedImplementationSpecialist简介:2011年7月正式进入用友公司,曾任职NC61、63等版本平台测试经理,精通Windows、Linux等主流操作系统,精通IBMWebSphere、用友NC、OracleWebLogic等主流中间件安装部署、性能调优,精通Oracle数据库部署、调优、高可用等方案配置。最近三年支持重点项目、重点客户有碧桂园集团、海南航空集团、最高人民法院、水利部、南昌政务、国家电网、创维集团、天瑞集团、慧谷化学集团等。目录CONTENTSNCCloud基本介绍1234NCCloud集群部署NCCloud高可用方案系统问题案例分析-PART01-NCC基本介绍NCCloud介绍NCCloud是用友公司应用最新的物联网、大数据、人工智能等技术开发的新一代云ERP产品,完全基于B/S架构。支持云注册,并与用友公有云产品无缝融合,为企业提供混合云解决方案。NCC部署架构应用服务器集群+master服务器+搜索服务器(可选)+锁服务器(可选)+消息服务器(可选)+session&license服务器(可选):应用服务器:应用服务器集群,支持多集群master服务器(可选):支持独立部署,支持HA搜索服务器(可选):支持独立部署,支持HA锁服务器(可选):支持独立部署,支持HA消息服务器(可选):支持独立部署,支持HAsession&license服务器(可选):支持独立部署,支持HA应用集群负载均衡客户端浏览器防火墙文件服务器master服务器备机高可用集群锁服务器备机高可用集群消息服务器备机高可用集群搜索服务器备机高可用集群session服务器license服务器备机高可用集群NCC部署架构-软件平台应用服务器数据库服务器注Postgresql数据库只支持华为公有云的Postgresql数据库,不支持开源及其他版本!NCC部署架构-硬件配置建议单个Server(-Xmx3072m):2核CPU4G内存,通常满足50-100人在线用户日常业务。-PART02-NCC集群部署Linux系统参数配置要求•最大文件数•最大进程数Limits参数•关闭防火墙•关闭selinux防火墙Selinux•YUM源配置,中文字符集等等其它编辑/etc/security/limits.conf文件,添加:*hardnofile65535*softnofile65535*hardnoproc65535*softnoproc65535serviceiptablesstop编辑/etc/selinux/config文件,修改信息:SELINUX=disabledNCCloud-NC集群配置-代码安装NCCloud-NC集群配置-apache安装组件说明httpd-2.4.29.tar.gzAPACHE主文件。apr-1.4.5.tar.gzAPACHE可移植运行库。apr-util-1.3.12.tar.gzpcre-8.10.zip正则表达式标准库。tomcat-connectors-1.2.43-src.tar.gz生成APACHE插件,主要用于跟TOMCAT通信。包依赖:yum-yinstalllibtool-ltdllibtool-ltdl-develyum-yinstallgccgcc+gcc-c++NC中间件集群安装:apache安装.txtNCCloud-NC集群配置-NC集群配置NCCloud-WAS集群-WAS8.5.0.1安装组件说明agent.installer.linux.gtk.x86_64_1.6.2000安装代理。WAS8501_allplatformWAS软件包WAS8_SDK1.7WAS.JDK1.7windows2008安装was85所需软件WINDOWS依赖包包依赖:yuminstallcompatyuminstalllibXpyuminstalllibXmuyuminstalllibXtstyuminstallpamyuminstalllibXftyuminstallgtk2yuminstallglibbcyuminstallgccyuminstallgcc+yuminstallgcc-c++NCCloud-WAS集群-WAS8.5.0.1安装NCCloud-WAS集群-WAS8.5.0.1安装安装管理器下配置存储库依次选择添加存储文件WAS8501_allplatform的repository.configWAS8_SDk1.7的repository.configNCCloud-WAS集群-WAS8.5.0.1安装选择安装软件包IBMWebsphereApplicationServerNetworkDeploymentIBMHTTPServerforWebsphereApplicationServerWebServerPlug-insforIBMWebsphereApplicationIBMWebsphereSDKJavaTechnologyEditionNCCloud-WAS集群-WAS8.5.0.1安装配置WAS8创建profile时默认使用的SDK为JAVA1.7managesdk.bat–listAvailablemanagesdk.bat-setNewProfileDefault-sdkName1.7_64NCCloud-WAS集群-WAS8.5.0.1安装创建概要文件manageprofiles-create-templatePathE:\IBM\WebSphere\AppServer\profileTemplates\dmgr-profileNameDmgr01-profilePathD:\IBM\WebSphere\AppServer\profiles\Dmgr01manageprofiles-create-templatePathE:\IBM\WebSphere\AppServer\profileTemplates\default-profileNameAppSrv01-profilePathE:\IBM\WebSphere\AppServer\profiles\AppSrv01。NCCloud-WAS集群-WAS8.5.0.1安装节点联合启动DeploymentManager进Dmgr/bin目录,运行startManager.bat启动Dmgr。运行addNode.sh进行节点联合进入主从机$AppSrv_HOME/bin目录,运行addNode.sh进行节点联合,命令格式为:#./addNode.batDmgr_ip地址Dmgr_SOAP端口Dmgr_SOAP端口默认为8879,可以查看Dmgr/logs/AboutThisProfile.txt。NCCloud-WAS集群-WAS8.5.0.1安装进行WebSphere集群配置之前需要确保集群dmgr及NodeAgent已启动。启动主机dmgr服务#./startManager.bat启动集群所有服务器的NodeAgent#./startNode.bat-PART03-NCC高可用方案NCCloud-高可用方案-专属服务器搜索服务:搜索服务器是一个微型的服务器,它的作用是把搜索服务从业务服务器(用户用来做业务的应用服务器)中独立出来。搜索服务器只用来提供搜索服务。包含搜索所需要的各个环节,从数据库爬取数据,建立索引,搜索结果,整个过程都在搜索服务器上完成,而业务服务器不再需要维护与搜索相关的各种服务,只需要将与搜索相关的请求发送到搜索服务器。搜索服务器的数据源必须与业务服务器保持一致,且为同一个数据库。锁服务&消息服务:锁专属服务器是将PKLock基于专属服务器实现,用以减轻集群master压力,提升系统的可用性,即集群中master一旦重启不会影响大部分业务操作消息专属服务器是将消息接收和转发功能基于专属服务器实现,用以减轻集群master压力,提升系统的可用性,即集群中master一旦重启不会影响大部分业务操作Session服务&License服务:session用来在客户端与服务器之间保持状态的解决方案,记录每个会话中部分信息。License服务可以和session服务部署在一起,实现独立部署,Session服务单独部署时,需要把业务服务器HOME下的prop文件拷贝到sessionhome下的ierp/bin/dserverConfig/prop.xml,以获取业务服务器地址列表,进行Session信息同步注:锁、消息、session、License服务都不需要配置数据库。NCCloud-高可用方案-专属服务器1.NCC自带专属服务器,默认在$Nchome\dserver下,每个独立服务器可以理解为单独的nc中间件。2.修改搜索服务器的JVM参数,端口等信息。3.修改搜索服务器数据源信息(必须与nc连接相同数据库)4.修改搜索服务器“搜索源分组”和“搜索管理”等。5.NC端指定独立搜索服务器地址。NCCloud-高可用方案-专属服务器HA高可用功能可以通过NMC将在关键服务器上提供的服务切换到另外一台备用服务器上执行,保证其正常使用,目前支持进行高可用服务器切换的服务器包括:Master服务器、搜索服务器、锁服务器,消息服务器,session服务器等。NCCloud-高可用方案-专属服务器HA1.复制搜索服务器代码,分别作为搜索服务器主备中间件。主环境服务名searchServer,备环境searchServer_standby,名称固定,不支持自定义,分别定义主备环境IP和端口。2.分别修改搜索服务器主备环境home\ierp\bin\servicedeploy\dserverHAConfig.properties文件,定义主、备属性及备用地址。3.修改NC端$NCHOME\ierp\bin\servicedeploy\dedicateserver.properties配置文件,配置搜索服务器地址(指向主服务器)。4.修改nmc\server\conf下prop.xml文件(从$NCHOME\ierp\bin下拷贝),添加searchServer和SearchServer_standby服务信息。5.修改nmc\server\conf下monitor.properties文件,修改propfile属性指向4中prop.xml。6.修改nmc\server\conf下ha.xml文件,定义主备切换服务信息。7.修改nmc\server\conf下service.xml,启用HA服务功能。NCCloud-高可用方案-服务分流基于URL服务分流:一个集群配置多个web服务,实现访问不同地址分发到指定Server后端注:所配置的Server只运行配置服务,其余服务将不再运行NCCloud-高可用方案-多集群多个集群实现业务拆分,降低不同业务之间的横向影响。不同业务不同的访问入口,可以结合分流服务使用。-PART04-常见问题分析思路常见问题分析思路-业务卡顿(1)问题说明客户前台操作被阻塞,长时间无法返回,uclient切换后白屏。常见问题分析思路-业务卡顿(1)nmc监控到大量update耗时非常高,疑似存在数据库锁阻塞。阻塞查询sqlselect/*+no_merge(a)no_merge(b)*/(selectusernamefromv$sessionwheresid=a.sid)blocker,a.sid锁源SID,'isblocking',(selectusernamefromv$sessionwheresid=b.sid)blockee,b.sid被锁SIDfromv$locka,v$lockbwherea.block=1andb.request>0anda.id1=b.id1anda.id2=b.id2orderbya.sid;创建问题分析思路-业务卡顿(1)会话234阻塞了多个其他会话,对应操作为中间件线程为ncMem01#WebContain:0对应操作为中间件线程为ncMem01#WebContain:0,结合NMC,实际业务为单据生成,线程状态为blocked。常见问题分析思路-业务卡顿(1)生成javacore,继续分析该线程被谁阻塞:最后定位为元数据缓存问题导致的中间件阻塞,重启可以解决目前的问题,同时平台出补丁解决元数据缓存引发阻塞问题。常见问题分析思路-业务卡顿(2)问题说明业务操作耗时长,前台客户端卡死,并且nmc监控没有后台线程在运行。常见问题分析思路-业务卡顿(2)客户端java进程占用内存290M,基本排除客户端内存溢出的情况。常见问题分析思路-业务卡顿(2)使用jprofile查看当前客户端线程状态,使用jconsole查看当前客户端线程堆栈常见问题分析思路-业务卡顿(3)问题说明客户反映系统整体慢,要求排查系统原因。常见问题分析思路-业务卡顿(3)常见问题分析思路-业务卡顿(3)常见问题分析思路-业务卡顿(3)select*fromv$session_waitwhereeventlike'latchfree';闩锁ID为559.select*fromv$latchnamewherelatch#=559;闩锁名称为“ResultCache:RCLatch”.常见问题分析思路-业务卡顿(3)Oraclesupport网站查询相关资料:altersystemset"_optimizer_skip_scan_enabled"=FALSEscope=spfile;常见问题分析思路-业务卡顿(3)服务一点通(内部版)服务一点通(客户版)服务官方微信