感谢猫咪文章,在此做个备份
猫咪在论坛看到有人尝试配置Glassfish多机集群失败。猫咪也在网上搜索了一下,Glassfish有关配置集群的文章很少,仅有的几篇居然多是在一台机器上配置多个实例。昏死,那还叫什么集群!
猫咪又在网上和Sun的官方网站上反复搜索,终于发现一篇Glassfish配置多机集群的文章(http://blogs.sun.com/anilam/entry/glassfish_v2_admin_console_series)。猫咪根据这篇文章在自己的VMware上配置成功。现把自己的经验写下来,帮助有需要的朋友。
猫咪自己是在VMware中建立两个虚拟计算机,使用的是Windows Server 2003。本来是想用Linux的,但是Ubuntu每次总要联机查补丁,慢得要死,所以只好装2003了。
两台虚拟机器,IP地址一个是192.168.1.103,一个是192.168.1.104。其中192.168.1.104作为主控代理服务器和其中一个节点服务器。
首先在每台计算机上下载安装JDK6(至少也得是JDK5),安装过程在此不再叙述。
然后是安装Glassfish。猫咪用的是Glassfish v2ur1多语言版。从网上下载来后,执行
java –Xmx256m –jar glassfish-installer-v2ur1-b09d-windows-ml.jar
将安装文档解压缩。然后进入Glassfish下,执行
lib\ant\bin\ant –f setup-cluster.xml
两台都要这么做。
其实理论上应该是一台代理服务器,多台节点服务器。不过猫咪怕自己机器吃不消,所以就只用了两台机器。不过其中一台机器既做代理又做节点,性能上有问题。自己试验可以,实际中这么配可不行。
如果“ant –f setup-cluster.xml”执行没有问题,那么在两台服务器上就都建立了一个支持集群的服务器实例。
首先,在代理服务器上进入Glassfish的bin目录启动实例,
asadmin strat-domain domain1
“domain1”是系统自动建立的缺省实例,你也可以建立自己的实例。格式是“create-domain --profile cluster --adminport 4848 <实例名>”,“--profile cluster”表示实例是集群实例,“--adminport 4848”表示管理端口是4848。
分别在两个节点服务器上建立节点代理(目前192.168.1.104还兼任代理服务器职责)。
asadmin create-node-agent --host 192.168.1.104 --port 4848 agentOnFirst
建立第一个代理节点。
asadmin create-node-agent --host 192.168.1.104 --port 4848 agentOnSecond
建立第二个代理节点。
建立的时候,要求你输入代理服务器的用户名、密码和主密码。缺省是用户名“admin”,密码“adminadmin”,主密码我是自己建立的实例,也设定成了“adminadmin”。如果你用的是缺省实例,主密码应该是“changeit”。命令要分别在两个节点服务器上执行,不要在代理服务器上执行。然后分别启动这两个节点代理
asadmin start-node-agent agentOnFirst
asadmin start-node-agent agentOnSecond
启动的时候同样要求你输入代理服务器用户名、密码和主密码。如果没有问题,系统会显示节点启动成功。
现在通过浏览器登录“http://192.168.1.104:4848”,进行集群的创建和配置。进入控制台后,选择“群集”,然后选择“新建”按钮。输入集群名称后按“确定”。猫咪把自己的集群叫“MiaoCluster”。然后点击这个集群实例,选择右边的“实例”选项卡,然后将刚才创建的两个节点代理分别添加进去就可以了。最后在“常规”选项卡中按“启动群集”按钮,如果之前一切正常,两个节点均正常连接的情况下,集群就会成功启动。现在就可以在“应用程序”选项卡中进行应用部署了。猫咪自己写了一个缺省的JavaEE应用,只有一个缺省的index.jsp文件,上面就一句话“<%=”Hello WOrld!”%>”。因为不涉及到任何其他东西,所以部署很成功。
然后在浏览器上输入“http://192.168.1.104:38080/hello”。其中38080是集群的访问端口,猫咪的应用叫hello。浏览器成功显示出了“Hello World!”。然后再访问“http://192.168.1.103:38080/hello”,同样成功显示。去每个节点服务器的节点目录下,可以看到在“C:\glassfish\nodeagents\<节点名>\<实例名>\applications\j2ee-modules\”下有hello目录。如果你觉得这么访问不方便,一会儿103一会儿104的,你可以在代理服务器上配置HTTP负载均衡。
截图是浏览器分别访问两个节点成功的画面。
相关推荐
Glassfish 集群技术揭秘Glassfish 集群技术揭秘
glassfish集群搭建手册glassfish集群搭建手册glassfish集群搭建手册
glassfish集群安装[整理].pdf
Glassfish单机集群配置样例代码与资源
glassfish集群的配置在国内很少有人详细的讲 而且细节之处关键之处都是一带而过 很容易忽略 包括官方白皮书也是这样 所以写个文档和大家分享一下 文档中我分别写了界面配置方法和命令行批处理配置方法,希望对研究和...
由于使用了本地化的GlassFish集群体系结构,其拓扑包括三个节点组: 负载均衡器(LB) -用于处理所有传入的请求,发送给集群,并在工作节点之间分配它们 Worker Node(W) -处理所需的应用程序和Web服务的应用程序...
GlassFish服务器集群搭建.pdf
关于 GlassFish 的基础知识 * 集群的使用 应用程序部署策略 审计和监控 负载平衡管理器 冗余多节点架构 (HADB) 持久会话 管理和高级配置 与数据库服务器的交互 * 安全策略和工具 * ## 链接 管理指南 话题: ...
Shoal是一个基于java的动态集群框架,为构建容错、可靠和可用的JavaEE 应用服务器提供了基础架构支持。它还可以插入到需要集群和分布式系统支持的 ...Shoal是GlassFish(v2及后续版本)和JonAS应用服务器 的集群引擎。
该项目的体系结构是: 数据库:MongoDB 3.0集群后端:在GlassFish上运行的基于Jersey的RESTful Web服务前端:基于AngularJS的单页应用程序##运行(开发) 在Intellij中启动应用程序: shift + F10 或者您可以将war...
⒋ 通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上 ⒌ 支持多种传送协议:in-VM,...
OpenESB是JBI的一个开源实现,当其运行在GlassFish应用服务器上时,它包含了一个使用了集群JBI实例的同构拓扑选项。这使得,通过增加集群实例的数量,就能实现伸缩性和负载均衡。最近,一种名为代理绑定...
Remote Glassfish EJBs from Jetty Jetty and Spring EJB3 (Pitchfork) JBoss EJB3 ObjectWeb EasyBeans (aka JOnAS EJB3Container) 集群技术 JBoss Infinispan (from Redhat) Gigaspaces Terracotta WADI 基于...
4、通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上 5、支持多种传送协议:in-...
最后,当今的大型工程和科学计算严重依赖集群以并行化其工作负载。 我的分布式计算讲座中讨论了这些主题。 在此存储库中,您可以找到我在课程中使用的实际示例。 1.2。 内容 在 在 上面的每个链接都将您带到一个...