GlassFish配置多机集群浅析
笔者在论坛看到有人尝试Glassfish配置多机集群失败。笔者也在网上搜索了一下,Glassfish配置集群的文章很少,仅有的几篇居然多是在一台机器上配置多个实例。昏死,那还叫什么集群?本文将向您简单介绍一下GlassFish配置多机集群的方法。
笔者又在网上和Sun的官方网站上反复搜索,终于发现一篇Glassfish配置多机集群的文章,笔者根据这篇文章在自己的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 CXmx256m Cjar glassfish-installer-v2ur1-b09d-windows-ml.jar
将安装文档解压缩。然后进入Glassfish下,执行
lib\ant\bin\ant Cf setup-cluster.xml
两台都要这么做。
其实理论上应该是一台代理服务器,多台节点服务器。不过笔者怕自己机器吃不消,所以就只用了两台机器。不过其中一台机器既做代理又做节点,性能上有问题。自己试验可以,实际中这么配可不行。
如果“ant Cf 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