GlassFish可以配置单机集群和多机集群(即普通意义上的真集群)。

单机集群和多机集群配置上大同小异,只是代理服务器不同而已,单机集群代理服务器和代理节点在一个机子上,而多机集群就是将代理服务器和代理节点分布在不同的机器上。

下面就一步步来配置GlassFish集群,我是在Linux上部署的,因此下面的部署方式是Linux下的部署方式,Windows下的差不多:

1、下载 GlassFish, 我选择的是 GlassFish Server Open Source Edition 2.1.1中的 glassfish-installer-v2.1.1-linux-ml.jar 多语言版;

Linux Platform


2、安装GlassFish,安装前确保你的Linux上安装了JDK5 或者 JDK6

  • java -Xmx256m -jar glassfish-installer-v2.1.1-b31g-linux-ml.jar
  • cd glassfish
  • chmod +x lib/ant/bin/ant
  • lib/ant/bin/ant -f setup-cluster.xml (确定安装的是cluster)

3、启动GlassFish,创建Node Agent

  • bin/asadmin start-domain (启动GlassFish),正常情况下GlassFish就可以启动了,打开 http://localhost:4848 就可以访问了。
  • 创建Node Agent 1,bin/asadmin create-node-agent –host 172.16.100.125 –port 4848 agent1
  • 创建Node Agent 2,  bin/asadmin create-node-agent –host 172.16.100.125 –port 4848 agent2
  • 说明:这里的172.16.100.125就是代理服务器的IP,如果你是多机集群,那就是在其他IP的机子上创建node agent

  • 分别启动Node Agent,bin/asadmin start-node-agent agent1bin/asadmin start-node-agent agent2,
  • 说明:这里需要输入代理服务器的用户名,密码和主密码,主密码默认是:changeit,未改动直接回车即可

4、创建集群,启动集群

  • 打开 http://localhost:4848,点击Cluster/集群左侧菜单,新建一个集群,
  • 创建两个实例,节点分别选择之前创建的agent1和agent2,
  • 启动集群,正常情况下,集群就可以正常启动,两个实例也会随之启动,
  • 说明:如果这里集群无法启动,那么需要更改下hosts,注释掉 127.0.0.1 localhost.localhostdomain localhost, 新增一条,将IP改为你的本机IP,比如 172.16.100.100 test.test localhost,

  • 集群启动后,就可以在集群里面,选择部署应用程序了,部署完应用程序(推荐GlassFish samples里面自带的clusterjsp例子),会分别在node agent下面看到部署的应用程序,目录地址:glassfish/nodeagents/<节点名>/<实例名>/applications/j2ee-modules/
  • 说明:默认集群的访问IP是38080和38081端口,通过你的IP:38080/project_name和IP:38081/project_name就可以访问你的应用。

参考文章:
1、http://blogs.sun.com/anilam/entry/glassfish_v2_admin_console_series
2、http://wlmouse.javaeye.com/blog/179637