一. 简介

  WAS(WebSphere Application Server)是一种应用服务器,与Tomcat/JBoss类似,可以部署在服务器中,而作为应用程序的容器,应用程序可以部署到WAS中。WebSphere有很多版本,主要有application server base版、express精简版、community edition社区版和network deployment版等。根据架构的不同,WAS可以分为两类:

1.1、stand-alone架构

图片

  由图可知,stand-alone是单层架构,在这个架构中只有一个application server概要(注:概要是一系列不同配置的集合)。在这个架构下,WAS中包含各种容器,包括web container(web容器给JSP、servlet等应用程序组件提供运行环境,主要是和基于HTTP的请求打交道)和EJB container(EJB容器主要给类似邮件服务、事务管理等的EJB组件提供运行环境,更多的是和数据库和其他服务打交道)、JMX(JMX是一个为应用程序、设备、系统等植入管理功能的框架)、安全组件、web server engine、消息引擎、动态缓存以及一些其他服务。

1.2、ND架构

图片

  在ND架构中,WAS是两层管理架构,最大管理单位是单元(cell),每个单元里有一个部署管理器(deployment manager),每个部署管理下可以有多个节点(Node),每个节点中都会有节点代理器(node agent),用来管理每个节点下的server,而每个节点下可以有多个server,每个server上可以有多个应用程序。部署管理器中存在一个主配置文件,每个节点中存在副本配置文件,部署管理器通过文件同步服务将副本配置文件与主配置文件保持同步,如下图。

图片

1.3、组件IHS和plug-in

  不管在stand-alone还是ND架构中,可以通过部署IHS和plug-in组件来设置代理访问WAS中server上的应用程序。其基本原理就是通过plugin-cfg.xml(映射记录表)来映射外部访问IHS的地址到WAS地址的转换。根据IHS和ND架构的搭配又划分为以下几种结构。

1.3.1、两台IHS和plug-in

图片

  部署两台IHS和plug-in,它们之间通过Load balancer(负载均衡器)连接。外部浏览器访问的时候不是直接访问IHS,而是通过访问负载均衡器而间接访问IHS,从而实现负载均衡。

1.3.2、IHS和plug-in不在cell(单元)管理下

图片

  IHS和plug-in不在单元的任何一个节点之下,部署管理器就无法通过节点代理器管理到IHS,此时IHS和plug-in就成为未被管理区。这时只能通过手动地在单元和IHS之间复制plugin-cfg.xml配置文件达到协同工作的目的。

1.3.3、IHS和plug-in在cell(单元)管理下,通过节点代理器管理

图片

  此时IHS和plug-in成为部署管理器下的一个节点,可以不使用节点代理器,而启动一个远程操作的进程,即IHS管理进程,来让部署管理器实现对IHS和plug-in远程管理。

1.3.4、IHS和plug-in不在cell(单元)管理下,通过IHS管理进程管理

图片

  IHS和plug-in不在单元的任何一个节点之下,部署管理器就无法通过节点代理器管理到IHS,此时IHS和plug-in就成为未被管理区。这时只能通过手动地在单元和IHS之间复制plugin-cfg.xml配置文件达到协同工作的目的。

1.3.5、WAS灵活管理

图片

  当不同的单元需要统一管理时,则需要通过admin代理器和job manager。admin代理器是直接管理的,部署管理器是通过各个节点代理器来管理各个节点的。之后job manager通过作业方式(异步方式)来连接不同的单元和节点

二. WAS的安装

  本文中WAS的安装是基于centos下的WAS8.5.5,需要用vmware 14打开。百度云链接,密码是msq2。登录管理员:root,root123。

2.1、安装IIM

  首先打开/root/Downloads,里面的目录结构如下图,其中第一个agent.installer.linux.gtk.x86_64_1.8.6000.20161118_1611.zip是IIM安装介质,第二个到第四个是WAS network deployment版的安装介质,最后三个是IHS和plug-in的安装介质文件。

图片

  先利用unzip命令解压agent.installer.linux.gtk.x86_64_1.8.6000.20161118_1611.zip到当前目录,解压完成后再用./install安装好IIM安装工具。再去到这个文件夹打开/opt/IBM/InstallationManager/eclipse/下打开IBMIM.sh文件,打开IIM安装工具,安装好IIM。

1
/opt/IBM/InstallationManager/eclipse/IBMIM

2.2、安装WAS

  解压缩Downloads下的三个文件,分别是WAS_ND_V8.5.5_1_OF_3.zip、WAS_ND_V8.5.5_2_OF_3.zip、WAS_ND_V8.5.5_3_OF_3.zip。为了防止与之前解压的文件出现冲突,最好新建个文件夹,将三个压缩包放到新建的文件夹下解压。然后去到/opt/IBM/InstallationManager/eclipse/IBMIM打开IIM,新建repository,如下图:

图片

并把这个repository指向刚刚解压出来的文件目录中的repository.config文件,完成之后回到安装主界面点选安装,其中到下图这个界面之后点选simplified chinese,其他界面一直下一步。

图片

WAS家目录为

1
/opt/IBM/WebSphere/AppServer/

  WAS_HOME/bin/versioninfo.sh:查看WAS的版本信息。
  WAS_HOME/bin/ProfileManagement/wct.sh:打开创建概要的GUI界面。
  WAS_HOME/bin/backupConfig.sh:运行脚本backupConfig.sh,备份当前的概要。
  WAS_HOME/bin/restoreConfig.sh:运行恢复脚本restoreConfig.sh+备份压缩包名,恢复当前的概要。
  WAS_HOME/bin/startServer.sh:startServer.sh +服务器名,启动服务。
  WAS_HOME/bin/stopServer.sh:stopServer.sh +服务器名,停止服务。
  WAS_HOME/bin/serverstatus.sh:serverstatus.sh+服务期名,查看当前server状态信息。

三. 创建stand-alone架构的WAS

3.1、创建一个application server的概要

  打开/opt/IBM/WebSphere/AppServer/bin/ProfileManagement,运行里面的脚本文件wct.sh,打开安装概要的工具PMT,点击create开始创建新的概要。

图片

然后点选application server,下一步

图片

选择高级概要创建,下一步

图片

这一步三个选项分别是部署admin console、部署默认的应用程序:包括snoop和一些servlet/EJB组件、部署IVT工具:IVT是包含解析servlet和JSP的工具,用以验证web container。三项默认全选,点选下一步。

图片

之后一直点下一步,一直到下面这个界面,设置节点名、服务名和主机名,可以自己设置,也可以默认,点选下一步。其中概要的根目录为/opt/IBM/WebSphere/AppServer/profiles/AppSrv01

图片

之后跳到管理安全性设置的界面,我们选中启用管理安全性,设置用户名和口令,点选下一步。

图片

之后一直点选next,直到创建完成。

3.2、启动服务器

  可以去WAS根目录下的bin目录:/opt/IBM/WebSphere/AppServer/bin,然后./startServer.sh server1启动当前的服务;也可以去概要根目录下的bin目录:/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin,然后./startServer.sh server1启动当前的服务。之后ifconfig查看本机的IP地址。在另一台可以ping通这个ip地址的电脑浏览器上,地址栏输入http://ip地址:9060/ibm/console访问WAS的管理控制台,输入http://ip地址:9080/snoop访问WAS自带的应用程序snoop。

图片

图片

3.3、概要根目录的目录结构

  bin:与当前概要相关的脚本和命令;
  config:保存的是当前概要的配置信息;
  installedApps:保存的是当前概要所对应的WAS实例部署的所有的应用程序;
  logs:当前概要所对应的WAS实例的日志信息;
  logs/restoreConfig.log:创建概要时配置信息;
  logs/server1/systemOut.log:Java程序所有调用输出流打印的内容,输出的消息从左至右分别为进程号、WAS中一个模块、消息的级别(I/E/F/A/W)、WAS的消息
  tail -f SystemOut.log:用以跟踪这个日志文件的持续输出;
  ps -ef | grep java:显示java进程。

四. 创建IHS和plug-in

4.1、安装IHS、plug-in和WCT

  首先在Donwloads/目录下创建一个SUPPL文件夹,然后把最后三个压缩包移到SUPPL文件夹里,再全部解压缩。

图片

  然后去/opt/IBM/InstallationManager/eclipse运行脚本IBMIM打开IIM安装工具,新建repository,将这个repository指向SUPPL下的repository.config。之后退回安装主界面,点选安装。到下图之后分别勾选IHS、plug-in和WCT三项,点选next。

图片

之后一直next,一直到以下的界面,将WCT三个选项最后两个勾选去掉,然后一直next,直到finish。

图片

4.2、配置plug-in

  在上一步完成IHS等的安装后,选择打开WCT工具。或者通过/opt/IBM/WebShpere/ToolBox/WCT/wct.sh脚本打开WCT工机具。点选add按钮

图片

然后填写name和location,点击finish。

图片

再选择下面的create,创建plug-in的配置,选择IBM HTTP Server V8.5,然后一直点下一步。

图片

图片

到如下界面的时候,设置登录IHS管理控制台的用户名和口令,点选next

图片

然后一直next,直到出现如下界面,填写需要连接的WAS的主机名,因为我们之前的主机名是CentOS,所以在这里就写CnetOS,点下一步。然后点configure完成配置。

图片

4.3、启动IHS

1
IHS安装根目录:/opt/IBM/HttpServer

  去到IHS安装根目录/bin,使用命令./apachectl start打开IHS服务,用ps -ef | grep httpd检查是否启动IHS;在IHS安装根目录/bin,使用命令./adminctl start打开管理服务 ,用ps -ef | grep java检查是否启动管理服务器。然后还需要在WAS管理控制台中启动IHS和plug-in。之后就可以通过不加端口的形式访问到WAS下的应用程序了。

图片

五. 创建ND架构的WAS

5.1、创建部署管理器概要

  打开/opt/IBM/WebSphere/AppServer/bin/ProfileManagement,运行里面的脚本文件wct.sh,打开安装概要的工具PMT,首先创建部署管理器的概要。点击create按钮创建新的概要,然后点选management按钮创建管理的概要。在WAS中,有三个用于管理的管理概要,分别是administrative agent和部署管理器和job manager,我们选择Deployment manager。然后点击下一步。

图片

还是选择高级概要创建选项。点击下一步。

图片

一直下一步,直到出现管理安全性的界面,还是设置我们自己的用户名和口令,用以登录部署管理器的管理控制台。然后点击下一步。

图片

一直点击下一步,直到create,然后finish。

1
部署管理器根目录:/opt/IBM/WebSphere/AppServer/profiles/Dmgr01

5.2、启动部署管理器

  打开部署管理根目录/bin,输入命令./backupConfig.sh将当前bin下所有的配置都打包成一个.zip文件放在bin目录下;输入命令./startServer.sh启动部署管理器;输入命令./stopServer.sh停止部署管理器。

5.3、创建节点

5.3.1、直接联合stand-alone的WAS

  将stand-alone架构下的WAS联合到部署管理器下,会自动生成节点代理器。首先需要保证WAS server处在运行的状态下(./startServer.sh server1)。打开部署管理器的管理控制台,左侧工具栏-System administrative-node,然后依次点击右侧内容页—add node—manager node–next

图片

  之后添加节点的基本信息,WAS server的主机名和ip地址;JMX connector type保持SOAP不变;JMX connector port保持8880不变;WAS server管理控制台的用户名和口令;部署管理器控制台的用户名和口令;config URL保持不变;
以及是否包含原来WAS server底下的应用,最后点选OK。

图片

添加节点成功。

图片

此时打开节点代理器的选项,可以看到自动创建的节点代理器已经在运行了。

图片

5.3.2新建一个节点

  打开/opt/IBM/WebSphere/AppServer/bin/ProfileManagement,运行里面的脚本文件wct.sh,打开安装概要的工具PMT,创建节点的概要,点选Custom profile,下一步。

图片

节点代理器的默认名和存放路径

图片

节点管理器设置用户名和口令,默认的端口号是8879,节点代理器没有管理控制台的概念

图片

完成后可以打开部署管理器的管理控制台,查看节点是否创建。

图片

也可以验查看这个节点代理器是否运行,如果没有运行可以通过节点根目录/bin/startNode.sh脚本命令启动这个节点代理器。

图片

5.3.3、联合IHS和plug-in

  将IHS和plug-in联合到部署管理器下,首先要确保IHS和administrative Server启动,如果没有启动,可以通过如下命令启动。

图片

  打开部署管理器的管理控制台,左侧工具栏:system administrative-node,右侧内容页:add node-点选unmanaged node-next

图片

下一步配置主机名,所有操作完成后,需要点选save的选项保存设置

图片

  部署管理器下的配置文件与每个节点下的副本配置文件会定期同步,保持配置文件的一致,状态上绿色表示同步,红色表示未同步。

图片

可以勾选新增的节点名,点选工具栏上的同步选项,使主配置文件与副本配置文件保持同步

图片

  当把IHS联合到部署管理器下之后,还需要为新联合的IHS创建一个server,点选Server–Server Types–Web Servers–(右侧)New,所有操作完成后,需要点选save的选项保存设置

图片

  此时可以在部署管理器的管理控制台上远程启动、关闭和查看IHS和plug-in的日志。如果用命令查看plug-in配置文件的话,需要进入目录/opt/IBM/WebSphere/Plugins/config/webserver1,打开Plugin-cfg.xml文件。

图片

5.4、创建集群

  为了实现HA(高可用性,每个节点上的server上都安装同样的app,当一个节点上的服务器出现问题之后,其他的server中的app可以无缝地立马代替工作。)而创建集群。将多个server创建成一个集群,那么配置数据源、指定目标主机的时候都是以集群为单位,而不是单个的server;只有集群内的server才可以实现无缝的故障恢复。例如:session对象,可以通过在集群里创建复制组来实现所有server里都存在相同的session对象。
  创建集群首先要确保部署管理器与节点代理器是运行的,然后打开部署管理器的控制台,右侧工具栏:server-clusters-WebSphere application server clusters,点选右侧的new按钮。

图片

给集群命名,选择哪个server作为集群的第一成员

图片

为集群添加新的成员。

图片

点选finish按钮

图片

点选save保存配置

图片

查看default host的端口号中是否存在所有server中app访问的端口,没有端口的要添加对应的端口。

图片

以集群为单位创建数据源

图片

  通过IHS访问集群上的app,通过截图可以看到,第一次访问的是server1,第二次访问的是server2,原因就是集群通过策略将同一个请求分发到不同的应用服务器上。

图片

图片

创建复制组,并将server加到复制组里,使得复制组里所有的server的状态都可以同步

图片

  在server中设置需要通过复制组进行保存的数据:server—容器设置–会话管理-分布式环境设置–内存到内存的设置-选择复制域-OK-保存;server—容器设置–EJB容器设置-EJB设置–内存到内存的设置-选择复制域-OK-保存