[转]WebSphere环境搭建实践指南(一)

上一篇 / 下一篇  2008-12-19 14:06:06 / 个人分类:中间件

转载自:

http://tech.it168.com/jd/2007-08-23/200708230733862.shtml

【IT168 技术文档】
    生产环境中 WebSphere 应用服务器的搭建与演示环境有很多不同,由于生产环境的多样性、应用场景的性能调优、错误诊断等严格要求,生产环境中 WebSphere 应用服务器的安装涉及到安装前系统各项检查、安装中各种参数调整,以及安装后常见的管理任务。WebSphere 应用服务器有着大量的资源可以参考,但对于很多仅仅搭建过演示或简单测试环境的用户来说,面对浩如烟海的文档很难下手。本文试图总结在搭建一个完整的 WebSphere 环境中遇到的常见问题和注意事项,为初次搭建 WebSphere 应用服务器准生产环境的人提供一个快速入门指南。

    与大多数商用应用服务器一样,如果您计划把WebSphere应用服务器(以下简称WAS)用于正式的生产环境或用于性能测试、生产前检验的测试环境,除了简单地安装步骤外,您还需要做一些额外的检查、规划和配置,来确保您的WebSphere应用服务器环境安全稳定运行。 WebSphere应用服务器各个版本之间安装步骤差别不大,WAS V6.x版本比以前版本的安装配置步骤中多了创建概要文件的过程,本文举例的版本为V6.1。在阅读本文之前,推荐读者先了解安装WebSphere应用服务器的大致过程或相关概念。对于WebSphere应用服务器各版本的具体安装步骤,请参照WebSphere应用服务器产品随机安装文档以及WebSphere信息中心,DeveloperWorks上也有很多关于WAS环境搭建的参考文章,如:WAS5的安装及其常见问题、在WAS6.0 ND中实现集群等,见参考资源

2. 安装前准备

在搭建准生产环境的过程中,好的准备是成功的一半,推荐逐条进行以下安装前准备工作

2.1. 应用服务器硬件配置

WebSphere应用服务器能否顺利安装成功首先取决于目标平台是否满足安装的软件和硬件条件。WebSphere应用服务器对硬件配置的要求主要体现在待部署平台的硬件架构、CPU、内存和磁盘存储空间上,通常最低内存要求在512M以上,根据硬件平台、WebSphere应用服务器版本、组件的不同,要求的配置也会略有区别,请参考WAS详细系统需求。磁盘空间的分配请参见“2.4 确认磁盘空间是否满足要求”。

2.2. 确认操作系统版本是否满足要求

作为一个成熟的商用应用服务器,WebSphere应用服务器会定期发布不同WAS版本(例如WAS V5.0, WAS V5.1, WAS6.0…)、组件(例如:Application Server, Edge Component)支持的操作系统版本信息。使用WebSphere服务器支持的操作系统平台,能确保应用服务器安装、使用过程中环境的正常稳定运行。尤其要注意的是,如果操作系统平台不是IBM WebSphere应用服务器官方支持的平台,在WebSphere应用环境出现问题后则无法获得WebSphere应用服务器的售后支持,更谈不上解决问题了。

例如,在笔者写这篇文章时,在x86芯片上,对于RedHat AS 4操作系统,如果要安装WebSphere应用服务器V6.1的Application Server组件,则要求的操作系统版本是Red Hat Enterprise Linux AS, Version 4 with Update 2。如果您的操作系统版本是Red Hat Enterprise Linux AS, Version 4,则还需要安装Update2,否则有可能遇到问题。

由于支持的操作系统版本是定期更新的,请在搭建WebSphere应用服务器环境前,参照系统详细需求去查看当前操作系统版本(版本要与网上列出的完全一致)是否满足WebSphere应用服务器要求。

2.3. 确认网络配置/主机名满足要求

   在安装WebSphere应用服务器过程中,创建概要文件这一步骤需要用户填入机器的主机名(如图1),并且,WAS运行时也需要用到主机名(Host Name)。主机名是WAS安装节点的物理机器的网络名,它必须解析到服务器上的物理网络节点。创建概要文件中WAS使用的主机名的值可以是全限定 DNS 主机名(例如: hosta.cn.ibm.com)、短主机名(例如:hosta),或甚至是数字 IP 地址(例如:192.168.1.3),但必须是WAS所在服务器实际配置的主机名。而且,当WAS配置完毕投入使用之后,不推荐更改您设定的主机名,即使能改,过程也比较复杂。因此,根据实际经验,我们推荐用户在安装WebSphere应用服务器之前配置主机名。如果采用全限定 DNS 主机名或短主机名,可以通过hostname命令来查看当前系统的主机名。如果没有配置,则到hosts文件中添加相应的条目。


图 1. 创建概要文件时填入主机名



  • 常见问题1:在安装WAS之后,更改了主机名,WAS无法正常启动或停止,日志报错:javax.naming.ConfigurationException: Cannot get canonical host name for server。或者报错无法找到主机名xxx。因此,在创建WAS的概要文件之前,需要根据实际情况,选择三种形式的主机名(全限定 DNS 主机名、短主机名或数字 IP 地址)中保持不变的那种主机名形式,作为WAS使用的主机名,在概要文件创建向导(图1)中填入。如果您使用 DHCP或者如果您经常更改 IP 地址,那么我们推荐在概要文件创建时使用全限定 DNS 主机名或短主机名;如果机器ip固定,而全限定 DNS 主机名或短主机名有可能更改,则在概要文件创建中使用数字ip。
  • 常见问题2:如果您需要创建集群,请确保网络配置中,除了保证本机主机名配置正确外,还必须保证集群所在机器之间互相能ping通主机名。否则集群创建中add node一步可能不成功。

2.4. 确认磁盘空间是否满足要求

    考虑硬盘空间分配时,在UNIX或Linux平台下可以用df –k 先查看各目录大小。如果是在生产环境上安装WebSphere应用服务器,一般要从以下几个方面来计算要预留的空间。

  • WebSphere 应用服务器自身代码的占用空间。这个空间一般在1G左右,在不同的系统平台上略有差异。应在WAS安装目录下预留此空间。WebSphere应用服务器在Linux下的默认安装路径是 /opt/IBM/WebSphere/AppServer,在AIX下的默认安装路径是/usr/IBM/WebSphere/AppServer(后面我们把此路径简称为WAS_HOME)。用户可以在安装WAS时修改此安装路径。
  • 概要文件所占的空间。WebSphere应用服务器V6.1创建的概要文件基本类型有3种,每个概要文件所占用的空间如下:应用程序服务器(Application Server):在WebSphere应用服务器安装没有选择安装样本程序时,这一概要文件所占磁盘空间约为200M;Deployment Manager:30M;定制概要文件(Custom,即node agent):10M。
  • 如果要安装WEB服务器,则在WEB服务器所在服务器上要预留WEB服务器所占的磁盘空间。IBM HTTP服务器一般占用110M左右的空间。
  • 如果安装WEB服务器,则在WEB服务器所在机器上通常也要安装Web Server Plug-in组件,该组件所占磁盘空间约为200M。
  • WebSphere 应用服务器系统日志的占用空间。日志空间的估算要结合系统对日志的配置情况。WebSphere应用服务器的主要日志有SystemOut.log,SystemErr.log。我们可设置日志文件的大小和保存的历史日志文件数量,从而可以估算出其需要的空间。请参考“必要参数的调整”部分了解如何调整WebSphere应用服务器日志参数。
  • 如果有WEB服务器,需考虑WEB服务器的日志空间。如果客户开启了WEB服务器的访问日志access.log(默认开启),此日志增长的速度极快,要预留足够的空间。
  •  备份文件需要的空间。WebSphere应用服务器提供了一个备份命令(backupConfig.bat/sh),用来备份应用服务器的配置及其上应用。我们建议在系统稳定之后及时备份。对于一个典型生产系统,WebSphere应用服务器这个配置文件经常超过100M。可在发出backupConfig命令时,使用-logfile参数指定该备份文件的存放位置。
  • 系统出错时日志,例如,JVM在发生OutOfMemory时,在大多数平台上WebSphere应用服务器会默认写javacore文件和heapdump文件,记录错误出现时的JVM Heap、线程情况,以备错误诊断使用。虽然可以调整应用服务器参数使之不产生此类文件,但为了分析问题,通常需要从此类文件入手。这类文件通常都特别大,例如heapdump文件,可能达到几百M。如果多次出现OutOfMemroy,对磁盘空间的占用很快。因此,必须考虑为此类文件预留磁盘空间。
  • WAS安装程序还需要在系统的临时目录/tmp中有100M以上的空闲空间。
  • 用户发布到WebSphere应用服务器上所有应用程序以及应用自身的应用日志的占用空间。这个大小与实际应用相关,而且不同应用可以差别很大。

如要了解不同平台具体的磁盘空间要求,请参考WAS V6.1信息中心“为产品安装准备操作系统”一节的内容。

2.5. 针对特定操作系统的调整

   前面提到WebSphere应用服务器对支持的操作系统版本有明确要求,除此之外,WAS信息中心还对特定的操作系统版本安装的包、内核参数等有特殊要求。例如,对于RHEL AS4,信息中心中说明必须安装compat-libstdc++-33-3.2.3-47.3.ppc.rpm包(这是保持 C++ 运行时兼容性所必需的,供诸如 GSKit 的组件、Java 2 软件开发包(SDK)以及 Web 服务器插件使用)以及其他一些包。对于Linux、Solaris、HP等系统,还需要调整一些相应的内核参数。请参照请WAS V6.1信息中心“为产品安装准备操作系统”一节的内容。对于Solaris系统,需要调整的参数列表列举如下:

set shmsys:shminfo_shmmax = 4294967295
            set shmsys:shminfo_shmseg = 1024
            set shmsys:shminfo_shmmni = 1024
            set semsys:seminfo_semaem = 16384
            set semsys:seminfo_semmni = 1024
            set semsys:seminfo_semmap = 1026
            set semsys:seminfo_semmns = 16384
            set semsys:seminfo_semmsl = 100
            set semsys:seminfo_semopm = 100
            set semsys:seminfo_semmnu = 2048
            set semsys:seminfo_semume = 256
            set msgsys:msginfo_msgmap = 1026
            set msgsys:msginfo_msgmax = 65535
            set rlim_fd_cur=1024

2.6. 对于Linux/Unix系统,确认能启动图形界面

    WAS的安装可以使用人机交互的图形界面安装或批处理安装(称为静默安装,silent installation,预先写好响应文件,安装过程中不需要启动图形界面或者人机交互)。如果使用图形界面安装,在服务器是Linux/UNIX平台时,我们通常没有机会直接使用服务器的显示屏/控制台,而是通过自己的机器telenet到服务器上去。这种命令行直接telnet的模式下,可能不支持启动图形界面,需要用到Xmanager、X-Win32等支持X Window的工具软件。你可以在命令行下敲入命令xclock进行测试。如果出现如图2所示的图形显示,表明你能够在你的终端上启动图形界面。


图 2. 验证能够启动图形界面



2.7. 准备合适的安装介质

    WAS是跨平台的产品,不同的UNIX、Linux、Windows平台、32位或者64位操作系统上,安装介质都是不一样的,而且产品中包含了Application Server、Web Server、Edge Component等多种组件,当搭建WebSphere环境时,您需要从订购的WAS产品包(包括各个平台、组件的多张CD)中选择需要的安装介质。因此,安装前我们需要根据安装的WAS组件、操作系统版本、操作系统位数,选择所需要的介质。例如,如果我们要在x86架构、64位(注意,这里的64位是指操作系统是64位的)的Linux AS 4上安装WAS,就应该选择WebSphere Application Server for x86 64-bit Linux的安装介质;如果我们要安装IBM Http Server或者update installer,这两个组件都是在WebSphere Application Server Supplements CD中,同理,根据操作系统版本、位数、服务器的芯片,我们就可以选出所需要的介质了。如果WAS安装中需要打补丁,建议在安装WAS前提前下载这些补丁以备安装过程中使用。具体内容在“打补丁”一节详述。

2.8. 设计WebSphere环境的拓扑架构

根据实际应用场景的不同,我们需要决定WAS、Web 服务器分别装在哪些服务器上,如果需要配置集群环境,还需要考虑Deployment Manager、各个结点和集群成员都分部在哪些服务器上。例如,如果我们要配置一个集群环境,安装前,我们通常会先设计出如图3的一张拓扑结构图,以决定安装中每台服务器上实际安装、配置的组件。例如,如图3所示,图中实线是运行时的请求流,虚线是WAS各组件间的控制流。我们可以看出,在hosta机器上,应该安装WAS组件,并创建Deployment Manager、NodeA概要文件,配置集群成员C1和C2;在hostb机器上,应该安装WAS组件,创建NodeB概要文件,配置集群成员C3和C4。在machine3机器上,应该安装IBM Http Server和Plug-in组件。其中,WAS集群的配置是非常方便的,可以在创建完概要文件之后灵活调整。


图 3. 设计WAS拓扑架构



2.9. 其他常见注意事项

其他一些常见注意事项还包括权限、端口控制等等。例如:

  • WebSphere应用服务器在Unix/Linux系统上支持root用户和非root用户。但为了操作设置的简便性,通常都会在root用户下进行。
  • 有的生产系统对端口访问有限制,或者系统中可以已经占用了 WAS 即将使用的默认端口,因此,需要更改WAS使用的端口(此任务将在“更改WAS使用的端口”中详述)等等。
  • 如果需要创建集群,请确保参与Cell环境的各台机器之间时间一致、时区一致,建议误差控制在秒级。否则在add node过程中可能不成功。
  • 3. 安装WebSphere应用服务器

    安装WAS的过程非常简单,通常分为3步:安装WAS产品,为产品打补丁(如果有补丁),创建概要文件。如果您的环境很干净,没有一些特殊的限制,安装过程大多数时候是点击默认的“Next”。当然,根据环境的不同,通常会要注意以下方面:

    3.1. 安装WAS产品中的注意事项

    使用图形界面方式安装WAS的过程十分简单,通常不需要做特定的修改。下面列举安装中常见的一些注意事项和提高安装速度的小窍门:

    • 通常,如果您的系统曾经安装过WAS产品,安装WAS产品之前,建议停掉正在运行的WAS进程。如果安装IBM Http Server,通常最好停掉正在运行的Apache Http Server或者其他IBM Http Server进程。在Unix/Linux系统上,可以用 ps –ef |grep java 命令,去查看当前系统是否有was进程,用 ps –ef |grep httpd 命令,去查看当前系统是否有http server进程在运行。
    • 安装WAS可以执行launchpad.bat/luanchpad.exe,启动“启动板”,从启动板中点击“启动WebSphere Application Server的安装向导”。如果无法成功启动“启动板”,直接到安装介质目录下的WAS目录中,执行install.exe/install.sh即可。
    • 乱码:启动板或WAS安装向导显示的语言与本地操作系统语言设置有关。如果本地操作系统语言设置为中文,则 WAS安装向导就会显示中文。如果发现向导中语言显示为乱码,可以先把本地操作系统语言设置为英文,使用英文语言安装WAS。这样安装完毕的WAS仍然具有中文支持,不必担心。在Unix/Linux平台上,更改语言为英文使用下列命令: export LANG=en_US
    • 安装 WAS 过程中可以选择是否安装样本应用程序(samples),为了在开发环境和生产环境中都能获得更高性能,请不要安装样本。通过省略样本,可以将应用程序服务器启动时间缩短 60% 并节省 15% 的磁盘空间;可以节省相当程度的进程占用量;并且可以节省WAS产品安装以及每次创建应用服务器概要文件的时间。
    • 一个可运行的 WAS 环境至少要包含一个概要文件。因此,WAS产品安装过程中会让用户选择要创建的初始概要文件。如果在安装完WAS产品之后还要打补丁,建议此时先不要选择创建任何初始概要文件(图4),以节省打补丁所需的时间。如果在安装期间未创建概要文件,安装WAS产品结束后会显示用于启动“概要文件创建”向导的选项。基于同样原因,如果需要打补丁,我们将把创建概要文件这个工作放到打补丁之后进行,因此此处不必选择启动“概要文件创建”向导。

    图 4. 安装时不选择创建初始概要文件



    3.2. 打补丁

    如果您使用的WAS版本已经推出市场一段时间,根据用户的测试和使用情况, WAS会定期公布补丁包(Fix Pack)或补丁(Fix)。建议先在测试环境中安装补丁,确认安装的补丁不会对您的运行环境带来负面影响,再将补丁安装到生产环境中。一旦您经过了适当的测试后,主动地安装预防补丁,将避免一些可能导致您系统出故障的问题。WAS V6.x的补丁升级策略了解补丁升级策略的详情。并可以在IBM支持网站WAS补丁下载下载WAS补丁。

    一般来说,WAS补丁的命名规范为:版本名-产品名-产品组件名-平台名-补丁编号名.pak。例如,6.1.0-WS-WAS-SolarisSparc64-FP0000007.pak ,这是WAS V6.1的WAS组件针对Solaris Sparc64操作系统的FP0000007补丁。如果您安装了WAS,就需要产品组件名为WASSDK和WAS的补丁;如果您安装了IBM Http Server,就需要产品组件名为IHS的补丁;如果您安装了Plugin就需要产品组件名为PLG的补丁。通常,同样补丁编号的补丁,先装WASSDK补丁,再装WAS补丁。以后,每一次打补丁的过程,都是:

    1) 把补丁文件拷贝到补丁工厂安装目录的maintenance目录下;

    2) 在补丁工厂的安装目录下,执行./update.sh命令启动补丁工厂;

    3) 在“安装目录”中选择将要打补丁的组件的安装目录。通常,对WAS组件,补丁会自动识别出安装位置;对于IBM Http Server(简称IHS)或者Plug-in这样的组件,需要选择正确的安装位置;

    4)在maintenance package selection页面中选择想要打的补丁。

    3.3. 创建概要文件

    概要文件是一组用于定义运行时环境的文件,每个概要文件都是一组完全隔离的运行时环境。前面我们提到了概要文件有三种基本类型。在创建概要文件的过程中,通常我们要了解以下细节:

    • 概要文件创建有两种方式,图形化创建向导和命令行方式。为了操作的简便和直观,我们通常采用图形化创建向导(执行WAS_Home/ bin/ProfileManagement/pmt.sh启动该向导)。如果安装的是64位的WAS,则没有该图形化创建向导工具。这时,请直接使用./manageprofiles.sh命令。例如:在UNIX平台上创建一个Application Server类型的名为AppSrv01的profile,使用manageprofiles命令可以如下操作:
      export WAS_HOME=/opt/IBM/WebSphere/AppServer
                      echo $WAS_HOME
                      cd $WAS_HOME/bin
                      ./manageprofiles.sh -create -profileName AppSrv01
                      -profilePath $WAS_HOME/profiles/AppSrv01
                      -templatePath $WAS_HOME/profileTemplates/default
                      -hostName kcgg1d7.itso.ibm.com -enableAdminSecurity true
                      -adminUserName adminUser_ID -adminPassword adminPassword

      注意,命令和参数大小写敏感的。Manageprofiles命令的语法和更多参数选项请参见红皮书sg247304.pdf或信息中心。

    • 在“确认网络配置/主机名满足要求”一节中,提到了选择适当的主机名;在创建概要文件(图1)过程中,大多数情况下向导自动识别出的主机名就符合要求,否则我们需要向概要文件向导中填入适当的主机名。在同一台机器上用概要文件创建向导创建多个profile时,自动识别的主机名可能是加上域名的全限定名称例如hosta.cn.ibm.com,也可能是短名hosta。这两种形式都支持,但是不要在一个cell (Cell指WAS多个实例组成的一个受管域)中混用这两种名称方式。
    • 创建应用程序服务器概要文件过程中,可以根据需要选择创建适用于开发环境或生产环境使用的应用服务器实例。例如,对于开发环境,我们可以选择使用开发模板来创建服务器,开发模板针对开发目的进行了优化的配置,减少了WAS启动时间并允许服务器在功能较少的硬件上运行。但在生产环境中,不要选择“使用开发模板”。
    •  概要文件创建过程中我们可以选择“启用管理安全性”,让用户在进行登陆管理控制台、停止WAS实例等管理任务时需要输入用户名/密码。注意,如果在创建概要文件过程中没有启用管理安全性,或者启用管理安全性之后希望修改用户名或密码,都可以在概要文件创建完毕之后再次进行修改(请参见“管理安全性”)。
    • 创建概要文件过程中可查看/更改该概要文件所占的port。图5显示了创建的这个概要文件实例启动时将占用的端口,我们可看到管理控制台端口是9060,Http传输端口(也就是应用访问端口)是9080。如果用命令行方式创建概要文件向导,无法通过图形化显示看到这些端口,如果希望查看端口,可以在概要文件创建完毕后查看配置得到端口值(请参见“查看/更改应用服务器端口”);如果希望修改这些端口,则可以在概要文件创建中用参数-portsFile或-startingPort指定端口。当然,所有这些端口值都可以在概要文件创建完毕之后再次修改。

      图 5. 创建概要文件中显示端口



TAG: 中间件

 

评分:0

我来说两句

Open Toolbar