glassfish已经内部实现集群步骤
启动某个域后,打开后台管理
1.创建一个节点
2.创建一个集群并指向特定节点
3.在集群下创建实例,实例分两种,本机的和远程的。远程的要使用SSH安全套接字。确认后会给出新的监听端口
4.部署一个应用。在应用管理中更改应用的目标,将目标改为集群
5.通过集群实例的url和新端口测试是否成功
使用负载均衡
glassfish内部已经默认支持mod_jk,而且如果使用mod_jk将只能使用apache httpd前端
1.在后台选择glassfish中的集群实例,在实例管理页面中选中使用JK
2.安装httpd
3.在httpd中加入mod_jk加载模块,将mod_jk.so复制到httpd的modules目录下。注意:httpd与mod_jk版本一定要相同
4.配置httpd的conf文件,加入请求监听转向到glassfish集群中的端口
在conf/httpd.conf文件最后加入
- include "D:\Apache2.2\conf\mod_jk.conf"
新建文件mod_jk.conf
文件内容
- LoadModule jk_module modules/mod_jk.so
- # Where to find workers.properties
- JkWorkersFile conf/workers.properties
- # Where to put jk logs
- JkLogFile logs/mod_jk.log
- # Set the jk log level [debug/error/info]
- JkLogLevel error
- # Select the log format
- JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
- # JkOptions indicate to send SSL KEY SIZE,
- JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
- # JkRequestLogFormat set the request format
- JkRequestLogFormat "%w %V %T"
- JkShmFile logs/mod_jk.shm
- JkMount /* worker1
新建文件workers.properties
内容
- # Define 1 real worker using ajp13
- worker.list=worker1,worker2,loadbalancer
- # Set properties for worker1 (ajp13)
- worker.worker1.type=ajp13
- worker.worker1.host=127.0.0.1
- worker.worker1.port=28080
- worker.worker1.lbfactor=1
- worker.worker1.socket_keepalive=1
- worker.worker1.reclycle_timeout=300
- #worker.worker1.cache_timeout=600
- #worker.worker1.cachesize=128
- # Set properties for worker2 (ajp13)
- worker.worker2.type=ajp13
- worker.worker2.host=127.0.0.1
- worker.worker2.port=28081
- worker.worker2.lbfactor=1
- worker.worker2.socket_keepalive=1
- worker.worker2.reclycle_timeout=300
- #worker.worker2.cachesize=128
- #worker.worker2.cache_timeout=600
- worker.loadbalancer.type=lb
- worker.loadbalancer.balance_workers=worker1,worker2
- #worker.loadbalancer.sticky_session=1