文档章节

IBM WAS ND 分布式网络环境的理解与集群的实现

abcijkxyz
 abcijkxyz
发布于 2016/07/08 16:29
字数 4917
阅读 2
收藏 0
点赞 0
评论 0

如今的电子商务及电子政务应用系统的发展已经到了一个新的阶段,应用系统的成熟度和可用性都达到了更高的水准。因此庞大的部署规模和海量的用户访问成为目前大型电子商务及电子政务应用系统的显著特征。在这样的情况下,企业对系统关键业务:如金融信息,通信,交通等要求确保系统24*7*365不停歇运行业务的分布式部署结构和负载抗压能力,以及高可用性都提出了更高的要求。IBM WAS ND产品可以帮助我们在多应用服务器分布式部署环境下实现集群,确保系统的负载能力和高可用性。

下面按照逻辑概念的层次关系,由大到小依次了解IBM WAS ND产品定义的分布式网络环境中的相关概念。

单元(Cell)

单元是整个分布式网络中一个或多个节点的逻辑分组。单元是一个配置概念,是管理员将节点间逻辑关联起来的实现方法。管理员根据具体的业务环境,制定对其整体系统集成环境有意义的条件来定义和组织构成单元的节点。如图1所示,就一般情况来说,可以将单元看作是最大的作用域。

在IBM WAS ND产品中,管理配置数据都存储在 XML 文件中。单元保留了它每个节点中每台服务器的主配置文件。同时每个节点和服务器也有其自己的本地配置文件。如果服务器已经属于单元,则对于本地节点或服务器配置文件的更改都是临时的,通过在本地提交更改生效时,本地更改覆盖单元配置,但是当执行单元配置文档同步到节点的操作时,在单元级别上对主控服务器和主节点配置文件所作的更改将会替换对该节点所作的任何临时更改。

同步操作在指定的事件发生时进行,例如服务器启动时等很多操作。也就是说,通过对本地节点或服务器配置文件进行修改而达到调整节点或服务器配置的做法不是安全的,临时修改很容易被同步操作所覆盖。


图 1. 单元的作用域
单元的作用域

回页首

Deployment Manager

Deployment Manager 是管理代理程序,它提供集中式管理单元中所有节点的可视化人机交互管理视图。之前提到单元是一个逻辑上的配置概念,那么Deployment Manager 就为单元中所有元素提供了单一的管理控制中心点。每个单元都会包含一个 Deployment Manager,由Deployment Manager提供管理功能来修改单元的主配置文件。在最新的v6.x版本中还提供集群管理以及在一个或多个节点作用域内进行应用程序服务器工作负载平衡。


图 2. 由Deployment Manager提供管理功能来修改单元的主配置文件
由Deployment Manager提供管理功能来修改单元的主配置文件

节点(Node)

节点是受管服务器(Server)的逻辑分组。节点通常与具有唯一 IP主机地址的逻辑或物理计算机系统对应,节点不能跨多台计算机。节点分为受管节点与非受管节点。

IBM WAS ND 拓扑中的节点可能是受管的,也可能是非受管的。受管节点有相应的 Node Agent 进程来管理它的配置和服务器。非受管节点没有 Node Agent。Node Agent 表示管理单元中的节点并负责保持配置始终处于最新状态。非受管节点对于单元来说是未知的,所以 Deployment Manager 无法对其进行管理。

分布式网络环境中的非受管节点可以有服务器定义(例如 Web 服务器),但不能有应用程序服务器定义,并且非受管节点无法添加 Node Agent,因此它不能成为受管节点。另外一种情况在独立应用程序服务器环境中,节点尚且没有 Node Agent,它们也可以暂时被视为非受管节点,但是这类节点可以通过联合独立应用程序服务器而变为单元中的受管节点。通过调整独立应用程序服务器概要文件,将单独的Server节点添加到单元,这个过程称为联合。在联合独立应用程序服务器时,节点将自动创建 Node Agent,该节点就可以被Deployment Manager 管理。


图 3. IBM WAS ND 拓扑中的受管节点与非受管节点
IBM WAS ND 拓扑中的受管节点与非受管节点

Node Agent

Node Agent 是将管理请求路由至服务器的管理代理程序。Node Agent 是服务器,是一个管理代理程序,并不涉及应用程序服务功能。Node Agent 进程在每个受管节点上运行,并专门执行特定于节点的管理功能,如服务器进程监视、配置同步、文件传输和请求路由。Deployment Manager通过与Node Agent的交互完成对单元内节点的控制。


图 4. Node Agent
Node Agent

WAS Plug-in

在前面的章节我们讨论过受管节点是通过Node Agent进程与Deployment Manager交互。而非受管节点,最常见的是web服务器节点(如IBM HTTP Server),则是通过Web 服务器插件方式来接受Deployment Manager管理,加入到单元当中来的。IBM WAS ND产品支持所有符合规范的Web 服务器的基本管理功能,可以为所有支持的 Web 服务器生成插件配置。插件生成之后,对于非受管节点,可以通过“传播给远程 Web 服务器”完成插件配置;如果定义在受管节点上,则直接通过节点间同步即可完成插件配置的传播。

Web 服务器插件允许 Web 服务器将动态内容的请求发送到应用程序服务器。Web 服务器插件与每个 Web 服务器定义关联。为每个插件生成的配置文件(plugin-cfg.xml)基于通过关联的 Web 服务器路由的应用程序。Web 服务器插件帮助面向的网络中的应用程序服务器之间的工作负载平衡,改进请求响应时间。


图 5. 非受管节点通过插件接受管理
非受管节点通过插件接受管理

概要文件(Profile)

概要文件定义一个独立应用程序服务器(Server)的运行时环境,包括服务器在运行时环境中处理的所有文件。创建独立应用程序服务器时应该使用概要文件而不是多个产品安装,这样只需要保留一组产品核心文件即可,管理能力将得到极大的增强。不仅节省了磁盘空间,而且简化了产品的更新,只需要保留一组产品核心文件即可。而且与完整产品安装相比,创建新概要文件更快速,而且减少了出错的可能性,这允许开发者创建单独的产品概要文件以进行开发和测试。核心产品文件是由所有概要文件共享的产品二进制文件,如果希望二进制文件位于不同服务级别,在应用安装时设置。概要文件管理工具未提供删除功能,所以必须使用 manageprofiles 命令来删除概要文件。

使用概要文件创建独立应用程序服务器,则每个定义的应用程序服务器进程都在 profiles 目录内,除非在创建概要文件时指定新目录。如果将概要文件放在安装根目录中,则存在概要文件可能被例行系统维护破坏的风险。这些文件在随创建新的概要文件、重新配置现有的概要文件或删除概要文件等操作而更改。

IBM WAS ND提供了多种类型的概要文件,以下是最常用的三种:

  • 单元概要文件
    基本功能是在 Deployment Manager的管理下将应用程序提供给因特网或内部网。创建单元概要文件其实就是同时创建Deployment Manager 概要文件和已联合到单元的节点概要文件,构建一个最简单的单元环境。在创建初始单元概要文件后,可单独创建定制概要文件或独立概要文件,再通过联合操作将他们添加到 Deployment Manager管理的单元环境中。
  • Deployment Manager 概要文件
    基本功能是将应用程序部署到WAS的管理单元。每个属于该单元的Server都作为受管节点引用。
  • Application Server 概要文件
    基本功能是将应用程序提供给因特网或内部网。IBM WAS ND 产品的重要功能就是通过将 Server 节点添加到单元,调整独立应用程序服务器概要文件。单元中的多个应用程序服务器进程可以部署它需要的应用程序。也可以从单元除去 Server 节点以将节点返回到独立应用程序服务器的状态。每个独立应用程序服务器都具有其自己的管理控制台应用程序,可以使用它来管理Server。

图 6. 一个节点对应一个概要文件,一个节点内可以有多个Server
一个节点对应一个概要文件,一个节点内可以有多个Server

集群(Cluster)

集群是一起进行管理并参与工作负载管理的多个服务器集合。作为集群成员的服务器可以位于不同的主机上,与此相对的是作为同一节点下的服务器必须位于同一台主机上。单元可以没有集群,也可以有一个或多个集群。集群负责平衡服务器之间的工作负载。作为集群一部分的服务器称为集群成员。当在集群上安装应用程序时,会在每个集群成员上自动安装此应用程序。当删除集群时,也就同时删除了该集群的成员的任何应用程序服务器。没有办法保存任何集群的成员。除去集群成员的仅有方法就是删除应用程序服务器。如果希望保留要删除的集群中的应用程序或模块,则应该先将这些模块重新映射至另一集群。


图 7. 由两个节点内的三个Server组成的集群
由两个节点内的三个Server组成的集群

关于Node、Profile与Server

这三个概念比较容易混淆,我们拿出来对比说明:Node=Profile。Node是管理上使用的概念,Profile是实际的概要文件,它们代表同一事物。Server 就是所谓的 Application Server Instance , 这是我们实际要布署 Application 的地方。在IBM WAS ND 产品中受管节点的Node Agent 目的就是让 Deployment Manager Server 可以透过 Node Agent 来管 Node (Profile) 中的 Application Server Instance,一个 Node (Profile) 中可以有多个 Application Server Instance。

如果是非ND版本 , 则属于 Single Server 版本,那么一个 Node (Profile) 中只能有一个 Application Server Instance,如果你希望在一台机器上有多个 Application Server Instance,那就只能透过创建多个 Profile (Node) 来达成,但这些 Node (Porfile) 彼此独立没有管理上的关系 (RelationShip),只要使用的 TCP/IP Port 不要冲突即可。

一个较为复杂的实例

在完成了对IBM WAS ND 产品中相关概念的理解之后,我们通过一个较为复杂的实例来了解一个集群的构建过程。此次搭建的集群环境使用了三台测试服务器:


Table 1. 测试服务器情况
服务器地址 安装节点 其他资源
192.9.100.14 一个非受管节点 独立环境安装IBM HttpServer v6.1
192.9.100.17 一个DM节点和两个受管的应用服务器节点 /
192.9.100.19 一个受管节点,一个应用服务器节点 IBM DB2 v9.0数据库

客户端直接访问192.9.100.14上的IBM HttpServer,由IBM HttpServer根据节点本身设置的负载权重,分发访问请求。


图 8. 集群拓扑结构图
集群拓扑结构图

以下是该集群拓扑结构的安装步骤,只描述需要提示的关键步骤。

首先创建运行时环境。打开Profile Management Tool概要文件管理工具创建概要文件。选择创建单元概要文件,即同时创建一个Deployment Manager 概要文件和一个已经被联合的应用服务器节点概要文件,也可以创建DM概要文件再联合已存在节点。


图 9.
图 9

创建成功后在Deployment Manager 概要文件环境中登录到管理控制台,可以在“系统管理”中看见DM相关资源。


图 10.
图 10

节点列表。可以看见各种类型的节点:应用服务器节点、单元节点、HttpServer非受管节点。可以在此添加新的节点或联合已有非受管节点。各节点与单元主配置文件的同步操作也可以在这里完成。


图 11.
图 11

Node Agent列表。可以看见3个应用服务器节点被联合到单元之后,成为受管节点,开启了Node Agent进程。Node Agent在这里只能停止和重新启动。停止了之后就不能在此启动,需要回到Node下的概要文件中使用命令行去启动Node Agent。


图 12.
图 12

在“服务器”中选择“集群”,新建。一般来说,如果创建了集群,那么对各个单独节点的操作都应该在集群或DM中操作,而不应该去“服务器”中的“应用程序服务器”中单独操作。


图 13.
图 13

为集群添加成员(节点),并且在添加成员的同时重命名一个短名称。分配负载权重。指定分配给应用程序服务器的工作量。值的范围是 0 到 20。权重值越大表明将分得越多的工作量。


图 14.
图 14

可以对集群进行启动和停止操作。对集群进行启动停止,就是对集群内的成员节点进行启动停止。


图 15.
图 15

接下来安装web服务器,本例中采用IBM HTTP SERVER(IHS)。安装IHS的过程中注意在安装WAS IHS插件,填写Application Server主机名或IP时,如果是在集群环境下,就填写DM所在节点的主机名或IP地址。其他步骤没有困难。


图 16.
图 16

安装IHS结束之后会有Admin Server和HTTP Server两个Server。HTTPServer是通常意义上的Web Server。Admin Server是IHS用来配合IBM WAS ND产品提供远程管理服务的。启动Admin Server则可以在远程节点加入该Web Server节点,并对其进行启动、停止等管理。也可以直接将插件配置文件传播到这个节点上。


图 17.
图 17

安装插件,选择要配置的web服务器


图 18.
图 18

主要的生产配置是一台机器上的应用程序服务器和另一台机器上的 Web 服务器。此配置称为远程配置。与远程配置相对的是本地配置,其中应用程序服务器和 Web 服务器在同一台机器上。


图 19.
图 19

指明web服务器插件在IBM WAS ND中安装的位置。默认位置即可。


图 20.
图 20

指明IHS配置文件httpd.conf的位置和Web服务器的端口。在IHS那一端。


图 21.
图 21

接下来设置IHS中plugin-cfg.xml文件的位置,默认位置即可。IBM WAS ND上也有这样一个文件,可以通过手工COPY或“远程传播”的方式使二者保持一致。然后指明标示应用程序服务器的主机名或IP地址,推荐使用DM所在机器的主机名或IP地址。连续“下一步”至安装结束。

接下来需要将安装好的IHS及WAS插件加入到集群中去。可以通过管理控制台添加,也可以通过命令行形式添加,通过管理控制台添加比较简明,但步骤很多。下面描述一下快速命令行加入的方式:

1. 开启IHS的admin管理,在{IHS-install}/bin目录下运行

httpasswd -cm {install_dir}\conf\admin.passwd admin
    
(admin 是管理IHS的用户名). 接着输入两次密码.

2. 在IHS节点中启动IBM HTTP Server 和 IBM HTTP Admin Server.
3. 将IHS节点的{plunin-install}/bin/configurewebserver1.bat文件拷贝到安装时填写的WAS服务器的{was-install}/bin目录.当时推荐的是DM所在服务器。
4. 在DM所在服务器上启动DM服务
5. 在DM所在服务器上打开一个命令行窗口,运行

{was-intall}/bin/configurewebserver1.bat

6. 如下图所示在配置管理控制台确认Web Server被成功加入。由于启动了Admin Server,所以这个Web Server 还可以在WAS的管理控制台被管理。版本处写的“不适用”是因为这个Web Server 节点是一个非受管节点。


图 22.
图 22

全部安装配置完毕后,还需要为每一个server设置一个端口号为80的虚拟主机,以便接收来自IHS的请求 。


图 23.
图 23

部署应用则按照常规方式安装应用即可。注意在映射至服务器时,需要将该应用同时映射到集群和HttpServer上去。如果不是web模块则不必映射到HttpServer上去,如EJB。这样应用会同时安装在集群环境中的所有Node下的所有Server中。安装后需要重启Cluster和重新生成、传播WAS Plug-in。


图 23.
图 23

为了让发布在Cluster上的应用能连接到数据库, 我们需要在所有的受管节点上创建相同的数据源。创建数据源的过程与普通过程无异,需要注意的是创建Jdbc Provider时作用域应该选择在节点范围。如果在Cluster级别,某些版本的ND可能出现问题。重启DM服务,并且重启所有受管节点的NodeAgent服务。


图 24.
图 24

至此,集群的全部搭建步骤就完成了,重新启动Deployment Manager、NodeAgent以及集群的服务。如拓扑结构中所示,可以通过访问WEB服务器来访问应用,即:http://192.9.100.14 或 http://192.9.100.14:80。也可以尝试将其中的一个或两个Node停止,以确认是否能继续访问。


回页首

结束语

越来越多的企业及政府应用系统提出了对集群环境的要求,本文的主要目的是想阐述清楚IBM WAS ND产品对集群及整个分布式网络环境的理解和定义。只有理解这些定义和架构,才可以在实际工程的集成与部署工作中拿出好的设计方案来,并最大程度的发挥IBM WAS ND产品的能力。


参考资料

本文转载自:http://blog.csdn.net/yuwenruli/article/details/6698253

共有 人打赏支持
abcijkxyz
粉丝 60
博文 6195
码字总数 1876
作品 0
深圳
项目经理
WebSphere 应用服务器发布 8.5 版本

今天是 WebSphere Application Server (WAS) 历史上值得兴奋的一天,因为 IBM 发布了一个全新的、开发者友好的、轻量级的 Web 应用服务器 —— WAS V8.5 ,包括轻量级版本 Liberty Profile ...

红薯 ⋅ 2012/05/06 ⋅ 4

消息中间件IBM WebSphere MQ入门说明(上)

 消息中间件概述   消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走。通过消息队列,应用程序可独立地执行--它们不需要...

fiercelf ⋅ 2011/03/19 ⋅ 0

关于Websphere的一些概念

关于 Node、Profile 与 Server: 这三个概念比较容易混淆,我们拿出来对比说明:Node=Profile。Node 是管理上使用的概念,Profile是实际的概要文件,它们代表同一事物。Server 就是所谓的 Ap...

inferrrrrr ⋅ 2010/05/11 ⋅ 0

科普 | 从大数据到Hadoop,Spark,Storm

大数据中的数据量非常巨大,达到了PB级别。而且这庞大的数据之中,不仅仅包括结构化数据(如数字、符号等数据),还包括非结构化数据(如文本、图像、声音、视频等数据)。这使得大数据的存储,管...

勿忘初心321 ⋅ 2016/03/18 ⋅ 0

Java应用一般架构

当我们架设一个系统的时候通常需要考虑到如何与其他系统交互,所以我们首先需要知道各种系统之间是如何交互的,使用何种技术实现。 1. 不同系统不同语言之间的交互 现在我们常见的不同系统不...

yzbty23 ⋅ 2015/11/12 ⋅ 0

Distributed Ehcache

Ehcache Terracotta是一款由美国Terracotta公司开发的著名开源Java集群平台。它在JVM与Java应用之间实现了一个专门处理集群功能的抽象层,以其特有的增量检测、智能定向传送、 分布式协作、服...

ZooKeeper ⋅ 2013/12/21 ⋅ 0

GPFS文件系统笔记

1、IBM GPFS是一个可以自由扩展的高性能并行文件系统,同时支持AIX,LINUX,WINDOWS,支持高可用性的集群架构,支持并行的共享磁盘访问方式,提供单一命名空间,针对并行IO负载优化,提供极高的...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

分布式环境中三种Session管理方法的使用场景及优缺点 .

在分布式环境,管理Session通常使用下面三种方式: 一、Session Replication 方式管理 (即session复制) 简介:将一台机器上的Session数据广播复制到集群中其余机器上 使用场景:机器较少,网...

凯文加内特 ⋅ 2015/03/02 ⋅ 0

2016 | 大数据平台类产品资讯汇总

InfoSphere Streams 平台支持流数据的实时处理,支持不断更新持续查询的结果,可在移动的数据流中检测洞察。 InfoSphere Streams——实时大数据分析平台 Streams V4.2新特性:支持使用 Pyth...

勿忘初心321 ⋅ 2016/11/25 ⋅ 0

Terracotta 3.2.1 GA,Java集群框架

Terracotta 是一个JVM级的开源群集框架,提供:HTTP Session复制,分布式缓存,POJO群集,跨越群集的JVM来实现分布式应用程序协调(采用代码注入的方式,所以你不需要修改任何)。 Terracotta...

红薯 ⋅ 2010/03/13 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Kubeflow实战系列:利用TFJob导出分布式TensorFlow模型

介绍 本系列将介绍如何在阿里云容器服务上运行Kubeflow, 本文介绍如何使用TfJob导出分布式模型训练模型。 第一篇:阿里云上使用JupyterHub 第二篇:阿里云上小试TFJob 第三篇:利用TFJob运行...

全部原谅 ⋅ 16分钟前 ⋅ 0

007. 深入JVM学习—老年代

老年代空间的主要目的是用于存储由Eden发送来的对象,一般在经历好几次“Minor GC”还会保存下来的对象,才会被复制到老年代,这样就可以存放更多的对象,同时在老年代中执行GC的次数也相对较...

影狼 ⋅ 17分钟前 ⋅ 0

常见的一些C#开源框架或者开源项目

原:https://blog.csdn.net/qq_27825451/article/details/70666044 Json.NET http://json.codeplex.com/ Json.Net 是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更......

whoisliang ⋅ 18分钟前 ⋅ 0

设计模式基本原理

刚开始接触编程这行的时候看过设计模式,当时感觉学这些模式没有太大的用处,当时也看不太懂。但是随着慢慢接触这一行,经过一段时间的编程以后,再回过头来看设计模式,发现设计模式的确是太...

王子城 ⋅ 21分钟前 ⋅ 0

阿里云全面支持IPv6!一文揽尽4位大咖精彩演讲

摘要: 自从去年11月以来,阿里巴巴高度重视数据中心的网络改造、云产品改造、应用及网络改造等多个维度,经过半年以来的建设,阿里云已经完成了域名解析等关键产品的分析,现在阿里云已经完...

传授知识的天使 ⋅ 32分钟前 ⋅ 0

windows Android sdk 配置

1、下载Android SDK,点击安装,直接默认路径即可! 下载地址:http://developer.android.com/sdk/index.html 2、默认路径安装后,安装完成,开始配置环境变量。 3、打开计算机属性——高级系...

阿豪boy ⋅ 35分钟前 ⋅ 0

bash shell script 简明教程

User <--> bash <--> kernel shell is not kernel or part of kernel various shells: tcsh, csh, bash, ksh find the using shell: echo $SHELL find all the shells: cat /etc/shells what......

mskk ⋅ 37分钟前 ⋅ 0

Service Mesh简史

William Morgan Service Mesh是一个相当新的概念,讲它的“历史”似乎有些勉强。就目前而言,Service Mesh已经在部分企业生产环境中运行了超过18个月,它的源头可以追溯到2010年前后互联网公...

好雨云帮 ⋅ 37分钟前 ⋅ 0

10个免费的服务器监控工具

监控你的WEB服务器或者WEB主机运行是否正常与健康是非常重要的。你要确保用户始终可以打开你的网站并且网速不慢。服务器监控工具允许你收集和分析有关你的Web服务器的数据。 有许多非常好的服...

李朝强 ⋅ 50分钟前 ⋅ 0

压缩工具之zip-tar

zip 支持目录压缩。使用yum安装zip包,使用yum安装unzip包 zip 1.txt.zip 1.txt #将1.txt文件压缩,新生成的压缩文件为1.txt.zip,原文件保留 zip -r 123.zip 123/ #-r对目录操作。将123/目录...

ZHENG-JY ⋅ 50分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部