网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  mc4j远程监测tomcat集群-jmx助tomcat1(图)     
  文章作者:未知  文章来源:水木森林  
  查看:66次  录入:管理员--2007-11-17  
 
  摘要
  
  最新版本的tomcat(5.5.9)采用java管理扩展(jmx)管理beans(managed beans)技术实现了对servlet容器的管理,其中包括监测所有的集群(cluster)元素和session复制情况。本文探讨了tomcat对集群和session复制的支持,作者srini penchikala介绍了所有能用mbeans api监测的tomcat集群组件。他还通过一个运行在集群上的web应用示例展示了如何监测集群的细节和session复制,以及用jmx控制台显示服务器的统计数据。(原文2,300词,2005年8月1日发表)
  
  j2se5.0在监测和管理方面的支持很全面,拥有对java平台及运行于其上的应用进行远程监测能力。j2se 5.0中包含了java管理扩展(jmx)远程监测技术,这是对jvm监控能力的一个新的补充。java规范第160号需求是jmx远程监测规范,它是关于远程访问机制的,为基于jmx的代理制定了一套远程客户端api。
  
  tomcat 5.5在设计上借助了j2se 5.0内建的jmx技术,5.5版(由tomcat 5.0.27发展而来)实现了最新的servlet (2.4) 规范和javaserver pages (2.0)规范,并对tomcat服务器架构在很大程度上做了重新设计和组合。它运行更加稳定,与tomcat 4.x相比,性能、伸缩性、可靠性、jmx监测、集成的session集群和应用部署等方面都有了提高。
  
  有了最新版的tomcat和j2se 5.0的jmx技术,我们就可以通过jmx来使用servlet容器的属性和方法,同时减少与jmx相关的复杂编码。我在本文中将介绍如何在启动tomcat servlet容器时启用远程jmx监测,以及一个运行在有session复制功能的tomcat集群上的web应用示例。最后,我们用jmx客户端查看集群元素和http session的细节。不过在我们深入探讨远程jmx监测之前,还是先看一下构成tomcat集群的组件类。
  
  集群元素
  
  一个tomcat集群由六个主要的组件构成:cluster(集群),membership(成员),sender(发送者),receiver(接收者),replication valve(复制阀)和deployer(部署者)。
  
  表1说明了tomcat中的每个组件是如何完成集群和session复制工作的。
  
  表1 tomcat集群元素
  
 mc4j远程监测tomcat集群-jmx助tomcat1(图)(图一)

  有关集群元素的详细说明参见tomcat 5.5的集群文档。
  
  tomcat 5.5在集群、session复制、服务器监测和管理方面相对以前的版本(tomcat 4.1 和 5.0)做了一些改进。在tomcat 4中几个服务器组件(如host、engine和service)可用mbeans来监测,而在tomcat 5.5中yoav shapira、filip hanik和其他的tomcat开发者为监测集群元素编写了jmx实现。
  
  既然我们已经了解了每个tomcat集群元素的功能,接下来让我们看看各种连接tomcat服务器集群和监测集群情况的jmx客户端工具。
  
  jmx客户端
  
  jmx客户端是一个用来连接jmx代理(运行在本地或远程)的图形化用户界面(客户机/服务器或瘦客户端)。理想的jmx客户端具备以下特点,能够有效地监测应用服务器而不为其带来额外的负担:
  
  ---对系统和网络资源的低占用
  ---能保持系统的稳定和性能
  ---少量的或无需特别设置(即使需要设置,也是简单明了而不是编程方式的)
  ---可提供良好的报告
  
  j2se 5.0附带了一个称为jconsole的jmx客户端工具,可用来查看jvm运行时的详细情况。tomcat的安装中包含了一个叫做jmxproxyservlet的jmx servlet,可用来查看、更新tomcat mbeans的属性。它是一个能查看、操作运行于tomcat容器中的mbeans的轻量级代理,通过与命令行脚本共同作用来监测和改变tomcat的内部运行。jmx query和set命令分别用于查询mbeans和修改它们的属性和操作。
  
  除了这两个工具,还有几个第三方开源jmx客户端应用程序(本文的资源部分有与之相关的链接):
  
  ---xmojo
  ---jmanage
  ---mx4j
  ---spring jmx
  ---jmx-html适配器
  ---mc4j jmx控制台
  
  在本文中我将介绍如何安装和配置mc4j,远程连接到tomcat servlet容器,以及监测服务器集群所有的mbeans组件。
  
  用mc4j实现jmx远程监测与管理
  
  mc4j控制台提供了以下功能:
  
  ---以树状方式显示mbeans的属性、操作和通知
  ---设置mbeans属性值
  ---执行mbeans操作
  ---连接多个j2ee应用服务器
  ---图形化显示mbeans属性
  
  我在本文的示例中用的是mc4j 1.2 beta 9。安装mc4j可从sourceforge下载可执行文件(mc4j-12b9-windows.exe),然后双击该文件进行安装,安装过程中会提示选择jdk宿主目录和mc4j安装目录(本文是安装在c:/dev/tools目录下)。
  
  为jmx设置系统属性
  
  只有对一些系统属性进行设置后才能使用jmx远程监测,这些属性由一个在java_home/lib/management目录下名为management.properties的属性文件设定。表2给出了启用jxm监测所必须设定的属性。
  
  表2 启用jmx监测所需的系统属性
  
 mc4j远程监测tomcat集群-jmx助tomcat1(图)(图二)

  设置密码文件非常重要,特别是在多用户的环境下。我按以下步骤在java_home/lib/management目录下建立密码文件:
  
  ---用密码模板文件(文件名jmxremote.password.template)拷贝出一个名为jmxremote.password的新文件
  ---将密码文件的文件权限设置为只有你能读写
  ---为角色设置密码,如monitorrole 和controlrole
  ---当启动jvm时系统属性已经设置成表2的样子
  
  tomcat集群的配置
  
  我采用tomcat 5.5.9组建tomcat集群。本文使用的服务器集群由两个tomcat实例组成,它们共享session状态,通过负载均衡在集群节点间分配处理请求。我的集群配置用到了simpletcpcluster 和 deltamanager选项(使用默认值),在我的系列文章“tomcat的集群与负载均衡”(onjava.com,2004年)中对集群的组建有更详细的阐述。
  
  为了能够在启动tomcat服务器时启用远程jmx监测,要对位于catalina_home/bin目录下的 tomcat启动脚本(catalina.bat 或catalina.sh)做如下修改:
  
  set java_opts=%java_opts% -dcom.sun.management.jmxremote.port=8999
  
  注意:你在对第二个tomcat实例的jmxremote端口设置时必须指定不同的端口(9999)。
  
  图1 给出了集群的拓扑细节。
  
 mc4j远程监测tomcat集群-jmx助tomcat1(图)(图三)
点击查看大图

  
图1 tomcat集群架构示意图。

  
  表3列出了组建tomcat集群所需的各项配置参数。
  
  表3 集群配置详细说明
  
mc4j远程监测tomcat集群-jmx助tomcat1(图)(图四)
 
 
上一篇: mc4j远程监测tomcat集群-jmx助tomcat2(图)    下一篇: 在wicket里面使用一个自己websession
  相关文档
利用 struts 实现动态控制表格大小(1) 11-17
通过e-mail共享java 对象 11-17
java虚拟机几个命令行参数说明 11-17
java进阶之字符串替换的思考 11-17
好东西大家分享:java&xml的学习心得(1) 11-16
java的逗号运算符 11-17
字节数最小的中国城市javascrip列表(转) 11-17
在intellij idea 中使用courier new字体,并能正确显示中文 11-17
避免这10项j2ee危机来确保java项目成功 11-17
jakarta project: dbtags标签库(pre beta) 11-17
基于java 2平台的引用类使用指南(1) 11-16
违例控制器 11-17
mashups+ajax打造全新web开发 11-17
movefirst 方法 11-16
j2ee应用中,提升数据访问层的性能 11-17
特殊字符 11-16
eclipse 走上榜首 照亮java众生 11-16
enterprise javabeans组件慨述(7) 11-17
struts学习起?i问答 11-17
java基础知识 j2ee初学者需要注意的问题 04-30
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息