1:負載均衡的定義
多台服務器組成一個集群,向外提供相同的服務,所有的請求經過apache服務器的
分配,到各台tomcat服務器處理請求。另外還需實現session共享,如果有一台tomcat
服務器宕機,那么請求馬上轉移到另外的tomcat服務器上面處理。
2:安裝環境
linux操作系統 、Apache服務器、tomcat服務器多台,jk連接器
3:下載apache服務器安裝文件
httpd-2.2.21.tar
解壓文件:tar -xvf httpd-2.2.21.tar
進入文件:cd httpd-2.2.21
配置文件安裝目錄: ./configure --export="/usr/local/httpd"(這個自己定義)
編譯文件:make
安裝:make install
安裝完成后,進入在usr/local/apache2目錄bin下啟動httpd服務
./apachectl
遇到問題:
make:編譯源文件
make install:安裝程序
如果是不是以root用戶登錄,則需要臨時切換登錄用戶
sudo make install,實現安裝
實現負載均衡:
把tomcat目錄conf下server.xml里面的Engine放開,添加屬性jvmRoute即可實現負載均衡
實現session共享:
如果是小規模的實現集群和session共享,可以默認釋放第一行,all to all
如果是大規模的實現集群和session共享,要使用tomcat默認的配置。
Caused by: java.net.SocketException: No such device
一直包沒有設備異常,最后上網百度,得知:
搭建環境參考博客地址:
http://blog.csdn.net/chaijunkun/article/details/6987443
解決session共享問題,實現組播路由地址
http://www.myexception.cn/apache/668998.html
tomcat集群和負載均衡的實現(session同步)補充
因為tomcat的session同步功能需要用到組播,windows默認情況下是開通組播服務的,但是linux默認情況下並沒有開通,
可以通過指令打開route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0,
如果需要服務器啟動時即開通組播需在/etc/sysconfig/static-routes文件內加入eht0 net 224.0.0.0 netmask 240.0.0.0。具體組播概念
請查閱CCNP相關內容。