MULE_ESB部署手册美国赛特斯网络科技(南京)有限责任公司赛特斯网络科技有限公司21说明本文档适合的阅读对象为刚接触ESB项目研发人员需要了解ESB产品部署的测试人员。通过阅读本文档,测试及FAE人员能够初步掌握ESB的部署方法。2Linux安装配置MULE_ESB环境2.1JDK安装配置(可视具体情况而定)推荐使用的JDK版本为JDK1.6.0_24。将jdk-6u24-linux-i586.bin放到/usr/java下修改jdk-6u24-linux-i586.bin文件权限,具有可执行权限Chmod777jdk-6u24-linux-i586.bin执行该文件:./jdk-6u24-linux-i586.bin添加环境变量:进入profile文件vi/etc/profile在profile中最后添加如下内容:exportJAVA_HOME=/usr/java/jdk1.6.0_24exportPATH=$JAVA_HOME/bin:$PATH执行source命令[root@localhostplugins]#source/etc/profile查看系统中java启动是否正确,注意这个和环境变量:[root@localhostjava]#java-versionjavaversion1.6.0_24Java(TM)SERuntimeEnvironment(build1.6.0_24-b07)JavaHotSpot(TM)64-BitServerVM(build19.1-b02,mixedmode)如果出现上面的内容,则表示SUNJDK安装成功2.2MULE安装配置(可视具体情况而定)2.2.1拷贝部署文件源程序1、Mule部署需要的压缩tar包文件mule-standalone-3.3-M2.tar存放在172.16.33.166上的/home/cm/iMON/IMON.2012.6.22_dev/esb目录下的。2、使用tarxvfmule-standalone-3.3-M2.tar解压文件。2.2.2设置环境变量在etc/profile中最后添加如下内容:exportMULE_HOME=/usr/local/ims/mule-standalone-3.3-M2赛特斯网络科技有限公司3执行source命令[root@localhostplugins]#source/etc/profile注:/usr/local/ims/mule-standalone-3.3-M2为MULE实际部署机器上的保存路径。2.2.3部署ESB应用程序2.2.3.1修改ESB应用程序配置信息当前ESB与流媒体相关应用程序包为ups-esb-scheduler-1.0-SNAPSHOT.zip,在启动服务前,因为ESB需要调用调度服务器scheduler的EJB方法,所以需要根据实际需要修改其中调度服务器的信息。打开包,按需修改:upsesbscheduler-1.0-SNAPSHOT.zip\classes\scheduler.properties配置文件说明:esb.host为ESB服务器的IP地址esb.scheduler.port为ESB提供给调度服务器的端口esb.http.port为ESB提供给httpinvoker调用的端口scheduler.host为调度服务器的IP地址scheduler.port为调度服务器的端口qms.host为UPS服务器的IP地址qms.port为UPS服务器的端口esb.http.address为ESB的HTTP调用地址配置信息,包括了ip地址和端口dburl为数据库连接字符串dbuser为数据库用户名dbpassword为数据库密码esb.bind.address=localhostesb.jmxrmi.port=58889esb.web.port=9756esb.console.port=8089修改其中的scheduler.host、scheduler.port、qms.host、qms.port、esb.http.address为实际调度服务器、UPS部署服务器、ESB部署服务器的信息,如:esb.host=localhostesb.scheduler.port=9081esb.http.port=9082scheduler.host=172.16.34.130scheduler.port=3000qms.host=172.16.34.130qms.port=3000赛特斯网络科技有限公司4dburl=jdbc:oracle:thin:@172.16.34.130:1521:orcldbuser=ims_jsdbpassword=certusimonesb.http.address==localhostesb.jmxrmi.port=58889esb.web.port=9756esb.console.port=8089注意:1、一般只需要修改scheduler.host和scheduler.host的值,以及数据库配置信息,数据库的连接字符串在单数据库时为:jdbc:oracle:thin:@172.16.34.130:1521:orcl数据库为rac部署是,连接字符串为:jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.42.183)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.42.184)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL_TAF)))根据实际情况修改ip的host,port,instance,用户名和密码信息。2、esb.http.address端口固定为9082端口,端口和路径值必须和数据表中Remote_NAME与esb.httpinvoker的值相同。3、esb.scheduler.port端口为9081,IP为localhost,esb.http.address端口需配置为9082,其中的ip无论是否集群环境都为localhost。2.2.3.2配置各子系统数据表信息2.2.3.2.1配置jndi配置信息读取来源各子系统调用ESB,需要在部署的机器上deploy目录下的conf.properties文件增加一行配置信息,具体信息如下:REMOTEINFO_SOURCE_TYPE=db表示从数据库读取jndi配置信息。2.2.3.2.2数据表配置各系统配置信息表为ims_cfg_remoteinfo,目前存放在172.16..34.130上。表数据初始化脚本remoteinfo.sql也放在172.16.33.166上/home/cm/iMON/IMON.2012.6.22_dev/esb下,实际部署时,需要根据实际修改其中的IP地址信息。集群部署配置说明:(1)其中,如果是各子系统系统是集群部署的话,provider.url可配置多个ip,以“,”赛特斯网络科技有限公司5为分隔符。如“172.16.34.130:1100,172.16.34.131:1100,”。(2)ESB的esb.httpinvoker集群配置时,IP地址需要配置lvs后的Ip地址信息即可;LVS配置ESB,需要配置9081和9082两个端口。其中“172.16.7.150”是esb在lvs后的虚拟IP。2.2.3.3应用程序lib包更新1、各子系统与ESB交互,需要使用到3个jar包,分别是:mule-module-remote-1.0-SNAPSHOT.jar、mule-transport-ejb3-1.0-SNAPSHOT.jar、remote-1.0-SNAPSHOT.jar如果打包时这些包有更新,需要将这三个更新包到,因为这些包可能会有更新,大家在重新部署时最好统一每次都替换这3个包到/usr/local/ims/mule-standalone-3.3-M2/lib/mule下。2、检查mule-module-ricston-1.0-SNAPSHOT包是否存在,在的话删除。3、如果是首次部署,集群情况下需要jboss下的jboss-ha-legacy-client.jar、jboss-ha-client.jar、jboss-client.jar三个jar包,请检查/usr/local/ims/mule-standalone-3.3-M2/lib/opt下是否有这三个包。2.2.3.4将ESB应用程序部署到ESB修改好ESB应用程序配置信息后,将需要部署的UPS的ESB应用程序包拷贝到:/usr/local/ims/mule-standalone-3.3-M2/apps下。2.2.3.5启动ESB进入/usr/local/ims/mule-standalone-3.3-M2/bin目录,里面配置好了certus.sh文件,通过./certus.sh启动ESB。如果是windows部署,启动mule.bat即可。2.2.3.6日志查看进入/usr/local/ims/mule-standalone-3.3-M2/logs查看日志信息。其中mule.log为mule日志信息,mule-app-upsesbscheduler-1.0-SNAPSHOT.log为应用程序的日志信息。2.2.3.7查看进程及关闭ESB查看进程:检查原有Jboss进程是否存在,通过ps–ef|grepjboss查看Jboss进程。关闭ESB:使用kill-9杀掉相关的进程。3ESB项目部署故障排查3.1验证应用程序是否成功部署1、可通过浏览器打开“esb.host:esb.scheduler.port/Scheduler/boot”,如“172.16.7.129:9081/Scheduler/boot”,如果界面显示为:赛特斯网络科技有限公司6即为esb与调度服务器相关部署OK。2、可通过浏览器打开访问,如IE浏览器返回相应信息或者是google浏览器下载文件,即为有响应,ESB与EJB服务相关部署OK,否则根据日志排查错误。3.2必须保证9081和9082能够访问1、启动应用程序后,通过lsof–i:9081和lsof–i:9082查看esb使用的9081和9082端口已有监听,如果没有监听,可能是防火墙问题,可通过serviceiptablesstatus命令查看防火墙状态,如果防火墙已关闭,可查看mule日志定位问题。2、9081和9082端口是否可以ping通、是否可以telnet90919082端口。3.3ESB与其它子系统交互出错1、没有调用,检查防火墙,按3.2中的端口进行排查;2、检查各子系统jboss是否正确启动,jndi是否可以查找到3、检查/usr/local/ims/mule-standalone-3.3-M2/apps/ups-esb-scheduler-1.0-SNAPSHOT/classes里的scheduler.properties配置文件信息及数据表配置的esb及子系统地址端口是否正确。4、日志查看。5、esb调用集群子系统ejb时,jndi查找出错:(1)集群情况下需要jboss下的jboss-ha-legacy-client.jar、jboss-ha-client.jar、jboss-client.jar三个jar包,请检查/usr/local/ims/mule-standalone-3.3-M2/lib/opt下是否有这三个包。赛特斯网络科技有限公司7(2)数据表配置子系统url时,需要配置端口为1100.3.4如何修改ESB系统配置信息如需修改日志级别,可