BES8.x快速入门手册.docx_第1页
BES8.x快速入门手册.docx_第2页
BES8.x快速入门手册.docx_第3页
BES8.x快速入门手册.docx_第4页
BES8.x快速入门手册.docx_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

BES Software and Service CorporationBES快速入门及常见问题处理2011-4-7北京宝兰德软件技术服务有限公司 目录目录21.简述32.名词术语33.产品体系结构33.1.集群体系结构33.2.应用服务器实例体系结构34.BES的管理架构和基本操作45.BES安装说明56.添加补丁67.产品激活68.公共配置文件、基础库部署79.数据源管理79.1.数据库连接池管理79.2.JDBC资源管理(JNDI)89.3.JNDI客户端配置910.Web集群管理1110.1.创建集群1110.2.创建集群实例1110.3.创建Apache服务1210.4.配置apache服务1210.5.实例属性配置1311.应用部署1411.1.集群部署1411.2.独立实例部署1612.常见问题处理1612.1.Web应用乱码常见解决办法1612.2.WAS上EJB迁移1812.3.WEB应用(war)部署不成功191. 简述本文为BES快速入门手册,旨在帮助BES用户进行安装、简单的配置和部署管理应用。本文将按照需要而进行更新。2. 名词术语DMS:域管理控制器Domain:域Node:节点Node Agent:节点代理Instance: 实例Cluster:集群Cluster Instance:集群实例3. 产品体系结构3.1. 集群体系结构BES集群的体系结构图:一个集群下的所有集群实例可以分属于不同的节点(Node),但是必须同属于一个域(Domain),它们具有相同的配置并且部署相同的应用。HTTP(S)客户端的负载均衡可以采用四层交换实现,也可以采用BES内部Apache实现。3.2. 应用服务器实例体系结构应用服务器实例就是在单个Java 虚拟机(JVM)进程中运行的应用服务器。可以使用 iastool命令或者管理控制台对服务器实例进行配置管理。 应用服务器实例的体系结构:4. BES的管理架构和基本操作BES的管理架构图如下:由域控制器节点代理实例构成了BES的3层管理架构,基于该架构上的域内节点和实例可以灵活地构成应用所需要的集群。每个节点都有一个节点代理进程,节点代理进程负责管理此节点下所有实例。域管理控制器(DMS)负责管理所有节点。命令行工具和管理控制台通过与域管理控制器的信息交互,来配置管理DMS下面的所有实例。常见的操作和管理命令包括:登录命令行控制台:iastool -passport admin创建DMS名为domain1的域iastool create -domain -passport admin -user admin -password admin -adminport 1900 domain1启动域domain1 (必须命令行启动)iastool start -domain -passport admin domain1停止域domain1iastool stop -domain -passport admin domain1创建节点名为Node1的节点iastool create -node -passport admin -domainname domain1 Node1创建节点名为Node2的节点iastool create -node -passport admin -domainname domain1 Node2启动节点Node1 (必须命令行启动)iastool start -node -passport admin -domainname domain1 Node1创建实例名Server1的实例iastool create -instance -passport admin -node Node1 Server1启动实例Server1iastool start -instance -passport admin Server1停止实例Server1iastool stop -instance -passport admin Server1创建集群名为Cluster1的集群:iastool create -cluster -passport admin -user admin -password admin Cluster1在集群Cluster1下创建集群实例c1s1(将此实例创建在节点Node1下)iastool create -instance -passport admin -ajpport 60001 -node Node1-cluster Cluster1 c1s1在集群Cluster1下创建集群实例c1s2(将此实例创建在节点Node2下)iastool create -instance -passport admin -ajpport 60002 -node Node2-cluster Cluster1 c1s2部署应用iastool deploy -passport admin -host localhost -port 1900 -user admin -password admin -domain domain1 -target server01 D:tmpJ2EE5WebTest.war解部署应用iastool undeploy -passport admin -host localhost -port 1900 -user admin -password admin -domain domain1 -target server01 J2EE5WebTest详细信息可以参考BES用户手册5. BES安装说明字符界面安装:在Windows下,通过命令行执行:BES590-WINDOWS32.exe -i console在Unix下执行:./BES590-HPUX_V3.bin i console安装完成后便可以使用上节描述的创建域控制器、节点等命令创建所需要的域、控制器,然后在管理控制台创建、配置实例和集群。注意:1.操作系统必须具备JDK1.5或更高的Java环境,此外需要在PATH环境变量中引入java目录。2.同一个域里面的主机的主机名配置最好包含全部域里面主机的配置,在unix的/etc/hosts,windows的C:WINDOWSsystem32driversetchosts文件里面添加上其他主机的域名(主机名)、IP地址配置。比如,需要在主机62,01上部署相同功能的应用,可以将这2台主机安装成一个管理域。这时候需要调整2台主机/etc/hosts文件如下:62jstest201rx8640安装完成后,默认情况下可以通过http:/localhost:1900来登录(登录用户名/密码:admin/admin)管理控制台,对所创建的域进行管理和配置。详细信息可以参考BES Installation Guide。注:在AIX平台上安装BES时,有时候会因为IBM JDK里面的jre/lib/security下相关配置文件是链接文件,其指向的目标文件不存在,而导致安装失败。 推荐下载的IBM JDK是直接解开就可用的,而不是使用smit安装的JDK。6. 添加补丁根据产品运行过程中出现的功能和性能相关问题,BES中间件会及时提供相应的补丁来解决使用过程中遇到的各种可能问题。 BES8.x的补丁为非累积补丁,一般情况下需要将最新的我们推荐的补丁列表包含的补丁都添加上。添加补丁的方法如下:1) 转到$BES_HOM/bin目录下,执行./patch jar 比如:patch -jar c:BES763.005.zip7. 产品激活BES在完成安装后,自带试用license,72小时停止一次系统,180天失效,可以测试和学习使用。对于生产环境而言,需要使用所购买序列号来激活产品,激活后的产品具有无限期使用、不会自动重启、无连接和用户数限制。BES产品激活步骤如下:1) 转到$BES_HOM/bin目录下。使用./lmadm gen-regcode, 按照提示,将生成的注册码文件和从销售拿到的序列号发给我们。2) 我们会按照提供的(序列号、注册码文件)生成激活文件,发送给您。3) 使用./lmadm import-lic sourcepath= 将激活文件导入。4) 导入激活文件成功后,可以通过 ./lmadm view-lic查看license情况。注:前期版本的BES使用的注册命令是registerationtool, 而不是lmadm8. 公共配置文件、基础库部署BES的classloader提供了丰富的类加载办法,可以将不同位置下的类进行加载。 对于在一台主机上所有的实例都需要使用到的配置文件和公共使用的基础库,可以放到BES的lib子目录(比如/home/bes/BES/lib)下,这些类库会被自动加载。对于放到BES的lib目录下的配置文件,因为目前的BSS应用使用InputStream input = ClassLoader.getSystemResourceAsStream(filePath);这样的接口来加载配置文件,这种方式下需要调整BES实例启动的classpath。因此需要修改$BES_HOME/config/process.config如下: 9. 数据源管理在BES上,如果要通过BES的连接池管理来访问数据库,需要配置合适的JNDI资源。这包括2个步骤:首先建立数据库连接池;然后使用该连接池创建部署到实例上的JDBC源(JNDI资源)。9.1. 数据库连接池管理通过下述接口可以管理BES的连接池。指定访问连接池的名称, 连接到的数据库IP地址,用户名,密码,数据库名称,驱动类型.等参数。对于RAC方式访问oracle数据库,可以直接添加自定义的URL属性。9.2. JDBC资源管理(JNDI)通过下述接口可以对BES上的JDBC源(JNDI资源)进行管理。创建JNDI 时,可以同时指定连接池的名称,需要部署到集群、实例的名称. 如添加 数据源 “jdbc/oracle/sm” 将其部署到 SM集群下.9.3. JNDI客户端配置JNDI是J2EE规范中,应用用于查找资源(ejb home对象、Datasource、JCA、JMS资源等)和服务(Security、JTS资源)的重要接口。在BES里,jndi的提供了丰富的实现,这里我们仅对常用的spark方式使用jndi进行介绍。Spark客户端配置属性名称说明默认值com.bes.jndi.spark.lb.enabled指定客户端是否启用负载均衡合法值:true/falsetruecom.bes.jndi.spark.checktime指定客户端检查线程的时间间隔(单位:秒)120秒com.bes.jndi.sparkHTTP.endpoints指定客户端使用Spark协议通讯的服务器终端空com.bes.jndi.sparkTCP.endpoints指定客户端使用SparkTCP协议通讯的服务器终端空vider.url指定客户端使用Spark协议通讯的服务器终端空com.bes.jndi.spark.lb.policyBES提供3种Spark协议的负载均衡和故障转移算法:会话轮询算法(session-round-robin)请求轮询算法(request-round-robin)权重算法(request-weight)request-weight对于如下图所示的运行ejb应用的实例相关端口的配置其对应的客户端代码如下:Properties props = new Properties();props.put(java.naming.factory.initial, com.bes.jndi.CtxFactory);props.put(com.bes.jndi. spark.checktime,30000);props.put(com.bes.jndi.spark.lb.policy,request-round-robin);/ SparkHTTPprops.put(vider.url , sparkHTTP:/ :18080,:18080);/ 或者使用如下设置私有属性的形式/props.put(“com.bes.jndi.sparkHTTP.endpoints”, :8080, :18080);/ SparkTCPprops.put(vider.url , sparkTCP:/ :1s3000,:13000);/ 或者使用如下设置私有属性的形式/props.put(“com.bes.jndi.sparkTCP.endpoints”, :3000, :3000);10. Web集群管理BES内置了对web集群功能的支持。 同一个web集群里的所有实例(集群实例)均使用相同的配置参数,可以很简单地实现对多个实例的属性修改、应用部署。通过管理控制台可以很简单地对集群进行属性配置、部署应用和资源、添加/删除集群实例。10.1. 创建集群BES集群中可以发布应用程序,集群会将应用程序分发到集群下的所有实例下.集群中可以指定数据源(JNDI).10.2. 创建集群实例实例分为独立实例,集群实例,apache服务。对于集群里面的集群实例,BES支持多种请求分发的算法,满足不同应用场景下所需要的负载均衡管理需求。在这我们指定为集群实例,指定各个实例的负载均衡权重算发。所有管理都由集群来管理.包括应用程序部署,数据源.10.3. 创建Apache服务BES支持通过内嵌的apache来转发web请求。选择需要创建apache服务的节点,如下图示创建apache服务。10.4. 配置apache服务选择需要配置apache 的节点: 添加 apache服务 ,如图:添加负载均衡配置和添加转换规则(按照不同的url上下文访问不同的集群),如图10.5. 实例属性配置在测试环境中,因为同一个实例上部署的应用较多,通常容易出现内存不够的情况。可以参考如下图的接口适当调整实例和集群实例的内存配置。特别是如果在BES日志里面出现PermGen内存不够的时候,需要将java堆内存永久域的大小进行适当调整。11. 应用部署11.1. 集群部署选择需要部署程序的集群,查看集群信息,展开应用管理和部署,点击常用应用,具体流程如下:1) 登录BES控制台,域集群,选择需要部署应用的集群名称如图: 2) 点击常用应用,选择需要发布的应用。按如下的向导进行部署3) 选择部署新应用4) 按照不同的部署类型,选择部署方式和路径然后按照向导提示继续部署应用。11.2. 独立实例部署选择需要部署程序的独立实例,查看独立实例信息,展开应用管理和部署,如下点击常用应用,选择需要部署程序的实例如图: 如下图,在右侧部署应用向导里面,选择合适的应用类型。按照不同的部署类型(文件、目录部署)指定相应的部署路径。如果是从本机上传应用,选择“上传文件”,并指定本地文件路径选择应用类型打包部署目录形式部署,选择该选项,再”下一步”然后按照向导提示进行应用部署。注:如果选择以目录形式部署,需要确保部署目标实例、节点代理需要已经启动。12. 常见问题处理12.1. Web应用乱码常见解决办法1) 如果是get方式出现的乱码,可能会与url的编码方式有关,这时可以通过如下图设置bes web容器的uriEncoding属性为合适的编码方式来解决。2) 如果是jsp/servlet源程序里面保存的汉字与bes实例的编码方式不一致,源程序级别的乱码,需要在eclipse里面将jsp/servlet的源程序使用合适的编码方式来保存。有时候通过在web应用里面通过下述配置指定jsp编译的默认编码方式来保证编码的一致。修改WEB-INF/bes-web.xml里添加如下配置Keep a copy of the generated servlet class java code. 3) 对于通过这种包含的子页面浏览出现乱码,这主要因为web容器在处理这种include方式包含的子页面时,按照规范include进来的页面不会自动继承主页面的charset设置,这时需要设置jsp的默认编码方式(规范servlet2.3/2.4对这种方式的解释不一样,因此会有些在老版本的tomcat上没有问题,而迁移到新版本会出现乱码)。修改WEB-INF/web.xml里添加如下配置 *.jsp GBK false 4) 如果在浏览器和web容器之间还有apache做转发,如果在返回的http响应头里面如果没有charset设置时,apache默认会添加一个类AddDefaultCharset ISO-8859-1这样的指令,来自动添加响应头。这种情况下,需要修改apache的httpd.conf或对应的编码配置文件,注释掉前述指令。5) 如果应用程序在浏览器端执行的ajax代码会自动解释服务器返回的xml,但应用返回的xml没有指定charset,有时候浏览器端的显示会出现乱码,这时候通常需要调整应用代码,在返回的xml里面指定xml的字符编码方式。这种问题通常出现在浏览器中的一些小widgets出现乱码的情况。6) 对于post方式出现的乱码问题,需要在jsp页面里设置正确的pageEncoding方式,这种乱码也可以参考处理办法3来解决。当然,有些应用也可以使用.URIEncoder提供的方法来主动进行编码解码操作。常见的代码如下:StringtempVal=URLDecoder.decode(request.getParameter(param);out.println(newString(tempVal.getBytes(ISO-8859-1),gb2312);12.2. WAS上EJB迁移因为Ejb应用使用ibm的开发工具开发,IBM的ejb使用如下方式声明其jndi名字(ibm-ejb-jar-bnd.xml),并且在程序里写定了使用声明的jndi名字来调用ejb。Ejb注册jndi名字的不一致,这需要对针对WAs开发的ejb的部署描述符做适当的调整,将相应的ejb描述信息添加到BES的部署描述符文件bes-ejb-jar.xml里面,示例的bes-ejb-jar.xml如附件所示。比如,如果ibm-ejb-jar-bnd.xmi里面有如下配置: 对应ejb-jar.xml里面的ejb定义如下:custTreeManagerEJBbss.crm.custmanager.newcustinfo.ejb.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论