NCCloud2021.05高可用配置文档2021年7月版权所有(c)2021用友网络科技股份有限公司目录1.概述.......................................................................................................................................32.高可用搭建专属服务器相关配置..........................................................................................32.1Master服务器(可选).......................................................................................................32.2搜索服务器(可选)..........................................................................................................72.3锁服务器(可选)............................................................................................................112.4消息服务器(可选)........................................................................................................142.5session服务器(可选)....................................................................................................173.NMC相关配置....................................................................................................................203.1配置文件............................................................................................................................203.2nmc观察和切换操作简介.................................................................................................264.高可用服务器启动顺序.......................................................................................................281.概述本文档将介绍NCCloud2021.05产品中master、搜索专属服务器、锁专属服务器、消息专属服务器和session专属服务器的高可用搭建方案。高可用搭建方案可以避免上述专属服务器在不可用时的单点问题,确保服务的持续有效。如下图,当一个关键服务器不可用时,高可用功能可以通过NMC将在关键服务器上提供的服务切换到另外一台备用服务器上执行,保证其正常使用。切换原理如图0所示。图0检测服务器状态和切换过程演示图目前我们支持进行高可用服务器切换的服务器包括:Master服务器、搜索服务器、锁服务器,消息服务器五种方案。2.高可用搭建专属服务器相关配置2.1Master服务器(可选)Master服务器的高可用解决的是集群环境中业务压力大导致master服务器宕机后应用无法使用的问题。将集群中的master进行去单点改为同时存在两个master(一主一备),一旦主master不可用以后备用master可以感知并启动将自己设置为master提供服务,保证集群master在遇到服务器异常情况时应用在短时间内可以恢复使用。2.1.1拓扑结构调整如下图所示,原有集群环境中在服务器地址为“20.12.9.12”的服务器上搭建了一个was集群,但是一旦集群中的master不可用,整个集群将无法提供服务。图1.1集群拓扑图为了解决这个问题,将原有的拓扑结构改为如下的拓扑结构。图1.2集群master高可用拓扑图如上图所示,我们将在地址“20.12.9.17”上搭建一个NC单机作为master使用,并在“20.12.9.42”上搭建一个NC单机作为备用master使用。修改后的集群启动顺序:首先将主、备两个master通过其按照目录中的startdedicateserver.bat(linux系统为startdedicateserver.sh)启动,然后启动集群中的成员mem01~mem03(按照原有的集群启动方式启动,NC中间件通过按照目录中的startserver.bat启动,was中间件通过控制台启动)。2.1.2配置文件修改(示例为NC中间件集群)Step1:服务器信息修改为了保证master中的代码与集群slave中的代码一致,建议从原有的环境拷贝两份home到“20.12.9.17”和“20.12.9.42”上。Master节点配置:拷贝以后“20.12.9.17”服务器中sysConfig配置中心的左侧“服务器信息”标签中做如图修改:图1.3master服务器配置信息应用服务器信息中,依旧选择“集群服务器”,因为master要感知原有IP地址为“20.12.9.12”服务器中的slave成员节点就要保存原有的节点配置信息。节点配置中需要把原有的master地址改为“20.12.9.17”,并且设置端口号。Master_standby节点配置:为了区分主备节点,我们需要将备用master的服务器名称设置为“master_standby”由于在sysConfig中master的名称被锁定为“master”不支持修改,所以需要通过修改配置文件的方法该名称。打开IP地址为“20.12.9.42”服务器上的home的ierp\bin\prop.xml配置文件,进行如下截图中的修改。图1.4master_standby服务器配置信息如图,需要将服务器名称改为“master_standby”,还要修改对应的服务器地址和端口号。然后保存prop.xml文件。注意,1.在这里master_standby作为备用master服务器,服务器名称需要修改成跟截图一致,否则后续NMC监控识别master时会出问题,端口无限制可用即可。2.原来集群代码中的master信息需要修改吗?was集群不需要,只要保证启动集群时不启动原有master即可。(NC中间件可以改为IP地址为“20.12.9.17”上master服务器的地址)Step2:高可用相关信息修改在IP地址为:“20.12.9.12”、“20.12.9.17”、“20.12.9.42”的三个应用服务器上都要修改一个配置文件,路径为home安装目录/ierp/bin/servicedeploy/dedicateserver.properties配置文件。图1.5dedicateserver.properties配置如果配置了其他高可用功能,打开文件后可能会有其他配置信息,其他的配置信息不需要修改,只需要添加一行内容“master=http://20.12.9.17:9081”,也就是master服务器的地址和端口。这个配置文件的作用就是让所有的集群节点、master、master_standby都知道,当前要提供服务的master地址。注:配置文件指向的地址要统一配置成master地址,另一些配置成master_standby地址。至此,master服务器相关的已经结束,如果不配置后面的其他专属服务器高可用,可以直接跳到第二节的NMC相关配置章节继续进行配置。2.2搜索服务器(可选)搜索服务器的功能是对基础的业务数据提供快速检索功能的专属服务器,在NCCloud产品中位于home目录中的microserver\SearchServer目录下。如图所示。图1.6搜索服务器路径2.2.1拓扑结构调整在原有的集群IP地址为“20.12.9.12”服务器中,为了搭建高可用功能,需要将其拷贝到两个不同的的服务器中,这样可以保证其中一个搜索服务器出现异常后,备用的搜索服务器可以正常提供搜索服务,目前示例中将搜索服务器分别放置在IP地址为“20.12.9.17”(主)和IP地址为“20.12.9.42”(备)两个服务器上。需要将SearchServer目录拷贝到对应服务器上(其他无关目录不需要拷贝)。图1.7搜索服务器高可用配置原有搜索服务器配置的服务器信息为“127.0.0.1:5550”。如图,高可用修改后的服务器名称和地址端口都进行了修改。如果原来的搜索服务器中的数据源没有进行配置,需要把应用服务器home中的ierp\bin\prop.xml文件拷贝到两个搜索服务器的SearchServer\ierp\bin\prop.xml替换到原来的配置文件。(这个操作是为了让搜索服务器的数据源文件配置信息与应用服务器中数据源信息始终保持一致,因为搜索服务器需要进行数据库访问)。2.2.2配置文件修改搜索服务器名称和地址分别为:主搜索服务器searchServer(服务器名称,固定不要自创)为“20.12.9.17:5550”;备用搜索服务器searchServer_standby(服务器名称,固定不要自创)为“20.12.9.42:5550”。配置截图如图所示。Step1:搜索服务器配置主搜索服务器SearchServer(20.12.9.17)sysConfig中“服务器信息”的配置截图:图1.8搜索服务器配置信息注意:搜索服务器(主)的服务器名称必须为“searchServer”。主搜索服务器SearchServer(20.12.9.42)sysConfig中“服务器信息”的配置截图:图1.9备用搜索服务器配置信息注意:搜索服务器(主)的服务器名称必须为“searchServer_standby”。Step2:搜索服务器“数据源分组”和“搜索管理配置”在两个搜索服务器上进行如下截图的配置,如图,在sysConfig配置界面中,左侧选择“搜索源分组”然后对右侧的每张表进行“设置数据源”并保存,数据源可以保存多个,但是要确保数据源都要可用。图1.10搜索源分组配置方法搜索管理只需要将每个表项双击打开,然后选择“爬去频率”,这里可以直接默认不进行修改,然后点击保存。图1.11搜索管理配置以上“搜索源分组”和“搜索管理”配置和保存完成以后搜索相关业务的配置就完成了。Step3:搜索服务器高可用配置此配置文件的修改要在主备两个搜索服务器的配置文件中进行修改,home\ierp\bin\servicedeploy\dserverHAConfig.properties文件。(注意:http地址中的“\”切换主备后自动生成的,不影响使用,自己配置的时候配置成“http://20.12.9.17:5550”这种标准格式)图1.12主搜索服务器(20.12.9.17)searchServer配置图1.13备用搜索服务器(20.12.9.42)searchServer_standby配置如图,配置文件中有四个属性,需要修改isMaster和standerbyURL两个属性。isMaster属性:表示当前配置文件所在的服务器是否是主服务器,主服务器设置为true,备用服务器设置为false;standerbyURL属性:表示当前配置文件所在的服务器的备用服务器地址是什么,也就是说把对方的地址填到这里,这个属性可以让当前的服务器知道它的备用服务器地址。Step4:应用服务器集群高可用配置(锁服务器、消息服务器也有这个配置,内容非常类似,可以一起配置)此配置需要在所有的应用服务器中修改(也就是包括所有的masterslave所在的home中修改),用来让应用服务器所有的server都可以找到对应的搜索专属服务器。配置ierp\bin\servicedeploy\dedicateserver.properties配置文件图1.13应用服务器相关配置如图所示,每套业务代码的配置文件中,search_framework属性都要配置成主搜索服务器的地址,这个配置要统一配置成主搜索服务器地址(即20.12.9.17:5550)。注意:master、message_framework、pklock分别表示master服务器、消息服务器、锁服务器的主服务器地址,如果这些服务器都需要配置高可用,可以统一进行配置。至此,搜索服务器相关的已经结束,如果不配置后面的其他专属服务器高可用,可以直接跳到第二节的NMC相关配置章节继续进行配置。2.3锁服务器(可选)2.3.1拓扑结构调整原有的IP地址为“20.12.9.12”的服务器中的home\microserver\PKLockServer即为锁服务器的路径,搭建高可用锁专属服务器,示例中将“20.12.9.17”、“20.12.9.42”作为存放主备锁服务器的服务器地址。我们需要将PKLockServer文件分别拷贝到两个服务器上。图1.14锁服务器home路径高可用后的锁服务器拓扑信息如下:图1.15高可用锁服务器拓扑2.3.2配置文件修改Step1:锁服务器配置(主)20.12.9.17锁服务器的服务器信息配置比较简单,只需要配置sysConfig中的“服务器信息”即可。如图,界面中服务器类型选择“UAPServer”->“单服务器”->服务器名称“pklockServer”(名称不能自定义)–>IP地址和端口为“20.12.9.17”、“5551”图1.16锁服务器配置信息锁服务器配置(备)20.12.9.42锁服务器的服务器信息配置比较简单,只需要配置sysConfig中的“服务器信息”即可。如图,界面中服务器类型选择“UAPServer”->“单服务器”->服务器名称“pklockServer_standby”(名称不能自定义)–>IP地址和端口为“20.12.9.42”“5551”图1.17备用锁服务器配置信息Step2:锁服务器高可用配置主、备锁服务器需要修改配置文件为home\ierp\bin\servicedeploy\dserverHAConfig.properties文件。图1.18主锁服务器pklockServer配置图1.19备用锁服务器pklockServer_standby配置如图,配置文件中有四个属性,需要修改isMaster和standerbyURL两个属性。isMaster属性:表示当前配置文件所在的服务器是否是主服务器,主服务器设置为true,备用服务器设置为false;standerbyURL属性:表示当前配置文件所在的服务器的备用服务器地址是什么,也就是说把对方的地址填到这里,这个属性可以让当前的服务器知道它的备用服务器地址。Step3:应用服务器集群高可用配置(其他专属服务器也有这个配置,内容非常类似,可以一起配置)此配置需要在所有的应用服务器中修改(也就是包括所有的masterslave所在的home中修改),用来让应用服务器所有的server都可以找到对应的锁专属服务器。配置ierp\bin\servicedeploy\dedicateserver.properties配置文件图1.20应用服务器相关配置如图所示,每套业务代码的配置文件中,pklock属性都要配置成主锁服务器的地址,这个配置要统一配置成主锁服务器地址(即20.12.9.17:5551)。注意:master、message_framework、pklock分别表示master服务器、消息服务器、锁服务器的主服务器地址,如果这些服务器都需要配置高可用,可以统一进行配置。至此,锁服务器相关的已经结束,如果不配置后面的其他专属服务器高可用,可以直接跳到第二节的NMC相关配置章节继续进行配置。2.4消息服务器(可选)2.4.1拓扑结构调整高可用后的消息服务器拓扑信息如下:原有的IP地址为“20.12.9.12”的服务器中的home\microserver\MessageServer即为消息服务器的路径,搭建高可用消息专属服务器,示例中将“20.12.9.17”、“20.12.9.42”作为存放主备消息服务器的服务器地址。我们需要将MessageServer文件分别拷贝到两个服务器上。图1.21消息服务器home路径高可用后的消息服务器拓扑信息如下:图1.22高可用锁服务器拓扑2.4.2配置文件修改消息服务器配置(主)20.12.9.17消息服务器的服务器信息配置比较简单,只需要配置sysConfig中的“服务器信息”即可。如图,界面中服务器类型选择“UAPServer”->“单服务器”->服务器名称“pklockServer”(名称不能自定义)–>IP地址和端口为“20.12.9.17”、“5552”图1.23消息服务器配置消息服务器配置(备)20.12.9.42消息服务器的服务器信息配置比较简单,只需要配置sysConfig中的“服务器信息”即可。如图,界面中服务器类型选择“UAPServer”->“单服务器”->服务器名称“messageServer_standby”(名称不能自定义)–>IP地址和端口为“20.12.9.17”、“5552”图1.24备用消息服务器配置Step2:消息服务器高可用配置主、备消息服务器需要修改配置文件home\ierp\bin\servicedeploy\dserverHAConfig.properties文件。图1.25主消息服务器messageServer配置图1.26备用消息服务器messageServer_standby配置如图,配置文件中有四个属性,需要修改isMaster和standerbyURL两个属性。isMaster属性:表示当前配置文件所在的服务器是否是主服务器,主服务器设置为true,备用服务器设置为false;standerbyURL属性:表示当前配置文件所在的服务器的备用服务器地址是什么,也就是说把对方的地址填到这里,这个属性可以让当前的服务器知道它的备用服务器地址。Step3:应用服务器集群高可用配置(其他专属服务器均有此项配置,内容非常类似,可以一起配置)此配置需要在所有的应用服务器中修改(也就是包括所有的masterslave所在的home中修改),用来让应用服务器所有的server都可以找到对应的消息专属服务器。配置ierp\bin\servicedeploy\dedicateserver.properties配置文件图1.27应用服务器相关配置如图所示,每套业务代码的配置文件中,message_framework属性都要配置成主消息服务器的地址,这个配置要统一配置成主消息服务器地址(即20.12.9.17:5552)。注意:master、message_framework、pklock分别表示master服务器、消息服务器、锁服务器的主服务器地址,如果这些服务器都需要配置高可用,可以统一进行配置。至此,消息服务器相关的已经结束,如果不配置后面的其他专属服务器高可用,可以直接跳到第二节的NMC相关配置章节继续进行配置。2.5session服务器(可选)2.5.1拓扑结构调整高可用后的session服务器拓扑信息如下:原有的IP地址为“20.12.9.12”的服务器中的home\microserver\SessionServer即为session服务器的路径,搭建高可用session专属服务器,示例中将IP地址为“20.12.9.17”、“20.12.9.42”作为存放主备session服务器的服务器地址。我们需要将SessionServer文件分别拷贝到两个服务器上。session服务器不在nchome下独立部署时,需要进行下面的操作:需要把应用服务器home下的prop文件拷贝到sessionhome下的ierp/bin/dserverConfig/prop.xml图1.28session服务器home路径高可用后的session服务器拓扑信息如下:图1.29高可用session服务器拓扑2.5.2配置文件修改session服务器配置(主)20.12.9.17session服务器的服务器信息配置比较简单,只需要配置sysConfig中的“服务器信息”即可。如图,界面中服务器类型选择“UAPServer”->“单服务器”->服务器名称“sessionServer”(名称不能自定义)–>IP地址和端口为“20.12.9.17”、“5553”图1.30session服务器配置session服务器配置(备)20.12.9.42session服务器的服务器信息配置比较简单,只需要配置sysConfig中的“服务器信息”即可。如图,界面中服务器类型选择“UAPServer”->“单服务器”->服务器名称“sessionServer_standby”(名称不能自定义)–>IP地址和端口为“20.12.9.17”、“5553”图1.31备用session服务器配置Step2:session服务器高可用配置主、备session服务器需要修改配置文件home\ierp\bin\servicedeploy\dserverHAConfig.properties文件。图1.32主session服务器sessionServer配置图1.33备用session服务器sessionServer_standby配置如图,配置文件中有四个属性,需要修改isMaster和standerbyURL两个属性。isMaster属性:表示当前配置文件所在的服务器是否是主服务器,主服务器设置为true,备用服务器设置为false;standerbyURL属性:表示当前配置文件所在的服务器的备用服务器地址是什么,也就是说把对方的地址填到这里,这个属性可以让当前的服务器知道它的备用服务器地址。Step3:应用服务器集群高可用配置(其他专属服务器均有此项配置,内容非常类似,可以一起配置)此配置需要在所有的应用服务器中修改(也就是包括所有的masterslave所在的home中修改),用来让应用服务器所有的server都可以找到对应的消息专属服务器。配置ierp\bin\servicedeploy\dedicateserver.properties配置文件图1.34应用服务器相关配置如图所示,每套业务代码的配置文件中,session属性都要配置成主session服务器的地址,这个配置要统一配置成主session服务器地址(即20.12.9.17:5553)。注意:master、message_framework、pklock分别表示master服务器、消息服务器、锁服务器的主服务器地址,如果这些服务器都需要配置高可用,可以统一进行配置。至此,session服务器相关的已经结束,如果不配置后面的其他专属服务器高可用,可以直接跳到第二节的NMC相关配置章节继续进行配置。3.NMC相关配置3.1配置文件为了通过NMC监控所有服务器状态,需要修改三个配置文件。分别是home\nmc\server\conf目录下的prop.xml文件,ha.xml文件,monitor.properties文件。3.1.1prop.xml文件配置nmc\server\conf目录下没有prop.xml文件,可以从应用服务器中拷贝一份(路径:ierp\bin\prop.xml)到NMC路径下(nmc\server\conf)。由于拷贝过来的配置文件中只包含一个集群master和mem节点的端口配置信息,没有master_standby、主备搜索服务器(如果要配置搜索高可用)、主备锁服务器、主备消息服务器的信息。因此需要将这些没有的服务器的信息添加到nmc\server\conf\prop.xml文件中,从其他配置信息中拷贝一对
标签(搜索、锁、消息https标签内容不需要配置),在标签中添加一下相关各项信息即可,每添加一个服务器信息需要拷贝一对peer标签,peer标签要包含在cluster标签内。Master相关:如果配置文件是从应用服务器拷贝的,应该已经有了master的配置信息,拷贝一对标签,根据之前主备master配置的真实情况配置master、master_standby信息,例如如下截图。搜索相关:标红的部分需要自行修改(主备服务器IP端口信息根据主备搜索服务器配置的真实信息填写,名称固定为与搜索服务器相同不得自创!)。锁相关:标红的部分需要自行修改(主备服务器IP端口信息根据主备锁服务器配置的真实信息填写,名称固定为与锁服务器相同不得自创!)。消息相关:标红的部分需要自行修改(主备服务器IP端口信息根据主备消息服务器配置的真实信息填写,名称固定为与消息服务器相同不得自创!)。注:这个prop.xml文件作为以后NMC监控的依据,如果忘记配置那个服务,哪个服务就不能被NMC监控到。session相关:标红的部分需要自行修改(主备服务器IP端口信息根据主备session服务器配置的真实信息填写,名称固定为与session服务器相同不得自创!)。注:这个prop.xml文件作为以后NMC监控的依据,如果忘记配置那个服务,哪个服务就不能被NMC监控到。3.1.2monitor.properties文件由于monitor.properties中原来配置的监控prop.xml位于ierp\bin目录下,为了让NMC监控我们刚刚配置好的nmc\server\conf\prop.xml文件,需要修改为截图中的路径:3.1.3ha.xml文件在nmc\server\conf\路径下存在一个名为ha_demo.xml的文件,拷贝一份并改名为ha.xmlha.xml文件是保存NMC切换主备服务器相关的配置信息的,需要修改的配置信息已经标红。注意:配置文件中已经将服务器名称预置好了,这些服务器名称跟专属服务器中的服务器名称是相同的(如果不同,请修改专属服务器的名称,确保跟ha.xml文件中名称相同),没不要修改名称否则切换专属服务器时会切换失败,只修改IP端口信息即可。ha.xml配置文件中标签含义标签名称配置信息解析servertype服务器类型名称,分别表示master服务器、锁服务器、搜索服务器、消息服务器,这个标签里的内容不可修改。masterservername填写对应的主服务器名称(根据服务器名称填写,不可自创);masterserver填写主服务器的地址(根据服务器配置信息填写);standbyservernam填写对应的备用服务器名称(根据服务器名称填写,不可自创)standbyserver填写备用服务器的地址(根据服务器配置信息填写);onlineserver表示当前正在使用的服务器,填写“主服务器地址*主服务器名称”,在启动NMC切换到备用服务器的情况下会替换成“备用服务器地址*备用服务器名称”。isautoswitch是否自动切换,一般默认设置为true,表示如果主服务器宕机自动切换到备用服务器使用。last_swtich_time上次切换主备服务器时间,这里不用填写,切换后nmc会自动填写;last_switch_by上次切换方式,这里不用填写,切换后nmc会自动填写;填写nmc表示NMC自动切换;填写system表示手动点击了切换;注意:如果前面只配置了其中一部分专属服务器的高可用,其他没有用到的配置信息必须删除!要删除它对应标签以及里面包含的配置信息。示例:如果master不配置高可用,删除servertype值为master的内容,如下标签内容:3.1.4services.xml文件启动HA修改完上述的配置文件以后,我们需要在nmc\server\conf\services.xml配置文件中将HA服务开启,才能支持HA功能。修改位置如下截图:将isStart标签中的false改成true后保存就可以了。3.2nmc观察和切换操作简介注意:如果在启动了客户端后没有在左侧标签中看到HA,可以通过左侧权限管理->选中标签下的机器名称->修改(菜单栏中管理员操作)->选择全部(其中包括HA)。重启可以添加HA标签。概述NMC中的HA节点可以管理HA,支持自动切换和手工切换两种模式。环境启动流程步骤:nmc启动方式:nmc\server目录下运行startmonitor.bat,启动服务器端,然后进入nmc\client文件夹,启动MinitorConsole.cmd。其登陆页面如图所示。图2.1登录客户端登陆nmc客户端后界面如图2.2所示。图2.2进入进程监控管理界面可以观察到所有配置到prop.xml文件中的服务器的状态,running表示已经启动服务器,down表示服务器没有启动。如图所示。图2.3进程监控情况进入HA菜单,可以观察到在ha.xml文件中配置的专属服务器和master的状态。其中几个重要的参数分别是:masterserver(当前关键服务器)、standerbyserver(备用服务器)、isautoswitch(是否通过nmc自动切换)、onlineServer(当前的关键服务器)、last_switch_by(最后一次切换的切换方式)等。LOG中显示了服务器状态的变化和nmc发送到服务器的信息,用来监控服务器的状态变化。如图2.4所示。图2.4HA标签中检测到的当前关键服务器情况手动切换onlineServer的方法是选中要切换的服务器,并点击菜单中的切换按钮,即可切换关键服务器,切换后可以观察到上方的日志信息。4.高可用服务器启动顺序如果环境中使用了高可用,可按照如下顺序进行启动:⚫首先启动nmc,nmc启动以后可以对所有的应用服务器和专属服务器进行监控⚫然后启动消息服务器,因为应用服务器在启动的过程中需要使用到消息服务器,所以需要优先启动;