KVM虛擬機配置
用途
數量
IP地址
機器名
虛擬IP地址
硬件
內存3G 系統盤20G cpu 4核 Haproxykeepalived 2台 192.168.1.10192.168.1.20 Haserver01Haserver02 192.168.30192.168.40 內存6G 系統盤20G cpu 4核 Weblogic 4台 192.168.1.100192.168.1.150
192.168.1.200
192.168.1.250
Clusters01Clusters02
Clusters03
Clusters04
軟件
版本 Centos CentOS Linux release 6.0 (Final) x86_64 bit Weblogic 版本 10.3.5 通用版本 haproxy-1.4.24 keepalived-1.2.7
作為一個單元來管理的並相互關聯的一組WebLogic服務器資源被稱為域。一個域可以包含一或多個WebLogic服務器,還可以包含WebLogic服務器集群。
域是一個完備的管理單元。向域裡分發應用的時候,該應用的各組成部分只能分發到域之內的服務器上。如果域中包含集群,那麼集群中的所有服務器都必須屬於同一個域。<喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxoNj4NCgm8r8i6PC9oNj4NCjxwPldlYkxvZ2ljU2VydmVyIMi6vK/TybbguPYgV2ViTG9naWNTZXJ2ZXIgt/7O8cb3yrXA/dfps8mjrNXi0Km3/s7xxvfKtcD9zazKsdTL0NCyotK7xvC5pNf30tTM4bjfv8nL9bfF0NS6zb/Jv7/Q1KGjttTT2r/Nu6e2y7b40dSjrMi6vK/Kx9K7uPYgV2ViTG9naWNTZXJ2ZXIgyrXA/aGjubmzyci6vK+1xLf+zvHG98q1wP2/ydLU1NrNrNK7zKi8xsvju/rJz9TL0NCjrNKyv8nS1M6709qyu82stcS8xsvju/rJz6Gjv8nS1M2ouf3P8s/W09C8xsvju/rJz7XEyLq8r9bQzO2807j8tuC1xLf+zvHG98q1wP3AtNT2vNPIuryvtcTI3cG/o6zSsr/J0tTP8si6vK/W0MztvNO8xsvju/rS1LPQ1Ni13dT2tcS3/s7xxvfKtcD9oaPIuryv1tC1xMO/uPa3/s7xxvfKtcD9sdjQ69TL0NDNrNK7sOaxvrXEV2ViTG9naWNTZXJ2ZXI8L3A+DQo8cD7T8rrNvK/IusrHyrLDtLnYz7U8L3A+DQo8cD7IuryvysfM2LaoIFdlYkxvZ2ljU2VydmVyINPytcTSu7K/t9ahozwvcD4NCjxwPtPyysfX986qtaXUqr340NC53MDttcTSu9fpz+C52LXEIFdlYkxvZ2ljU2VydmVyINfK1LSho9K7uPbT8rD8uqzSu7j2u/K24Lj2IFdlYkxvZ2ljU2VydmVyIMq1wP2jrNXi0KnKtcD9v8nS1MrHyLq8r8q1wP2horfHyLq8r8q1wP2jrLvy1d/Kx8i6vK/T67fHyLq8r8q1wP21xNfpus+ho9K7uPbT8r/J0tSw/LqstuC49si6vK+ho9Pyu7mw/Lqssr/K8NTa0/LW0LXE06bTw7PM0PLX6bz+oaK0y9Py1tC1xNXi0KnTptPDs8zQ8tfpvP66zbf+zvHG98q1wP3L+dDotcTXytS0us23/s7xoaPTptPDs8zQ8rrNt/7O8cb3yrXA/cq508O1xNfK1LS6zbf+zvHKvsD9sPzAqLzGy+O7+rao0uWhor/J0aHN+MLnzai1wKGiway908b3us3G9LavwOChozwvcD4NCjxoNj4NCgm53MDtt/7O8cb3oaLK3Lnct/7O8cb3PC9oNj4NCjxwIGFsaWduPQ=="left">運行管理服務的WebLogic服務器稱為管理服務器。管理服務集中管理並監控域的所有資源。如果要對某個域執行管理操作,該域的管理服務器必須處於運行狀態。
一個包含多個WebLogic服務器的域只能有一個管理服務器,其它服務器稱為受管服務器。每個WebLogic受管服務器都會在啟動時從管理服務器得到各自的屬性配置。
管理服務器和WebLogic受管服務器啟動時都運行webLogic.Server類。沒有作為受管服務器啟動的WebLogic服務器就是管理服務器。
節點管理器是一個Java應用程序。借助該應用,你可以從管理控制台遠程地啟動或kill WebLogic受管服務器。節點管理器是單獨的一個Java應用,隨同WebLogic服務器軟件供應。
你可以通過管理控制台來結束受管服務器,另一種方式是用節點管理器kill遠程受管服務器。當遠程服務器被hung或沒有響應時,就需要殺掉遠程服務器進程。
2、
3、選擇安裝路徑 與之前設置的環境變量一致
4、
5、
6、安裝weblogic軟件
7、
8、創建weblogic home目錄
9、
10、
11、
12、
13、
14、
15、
16、
5、 安裝weblogic域
創建weblogic域
下一步:默認即可
輸入域名、域安裝位置
用戶名及密碼
開發模式和生產模式,根據實際情況選擇,這裡選擇生產模式
PS:Oracle jre 對生產模式進行了優化,生產模式建議選擇jrockit
如果是開發模式的話建議選擇sun jre
這裡只選擇管理服務器,不選擇的話也會創建管理服務器,受管服務器、集群、計算機在管理服務器web管理界面均可後期根據需要再創建,沒必要在此創建。
點擊創建 就完成了新域的創建
本文使用節點管理器方式來控制受管服務器,使用節點管理的方式有幾點好處:
1、 節點管理器可以監測受管服務器的狀態,如果受管服務器宕機,節點管理器可以重啟受管服務器。
2、 可以通過webconsole管理界面遠程重啟受管服務器。有很多人是直接運行受管服務器進程例如:./ startManagedWebLogic.sh server01http://192.168.1.10:7001 的方式來啟動受管服務器,如果受管服務器較多的話,此類方法維護較為繁瑣。
3、 加入域的物理服務器只需要運行節點管理器進程即可,之後可以管理多個受管服務器,注意:新建的受管服務器第一次需要手動運行一下受管服務器腳本。
直接運行受管服務器進程方式較為簡單,本文不做說明。
配置過程:
1. 192.168.1.10 為域管理服務器,本機同時運行管理服務器及節點服務器進程
運行
sh $BEA_HOME/user_projects/domains/clusters_domain/bin/startWeblogic.sh 啟動
第一次運行需要輸入之間管理服務器設置的weblogic賬號密碼
可以通過建立boot.properties文件,之後就不用賬號密碼了,而且是加密的。
vi $BEA_HOME/user_projects/domains/clusters_domain/servers/AdminServer/security/boot.properties
password=weblogic
username=weblogic
2. 進入weblogic console管理服務器端http://192.168.1.10:7001/console
3. 首先點擊鎖定並編輯 建立 計算機:環境>計算機>新建
計算機名稱及類型 根據實際情況填寫。
下一步 輸入監聽IP地址 及端口號
完成,重復以上步驟建立4個計算機分別對應
Machine-0 192.168.1.10 5556
Machine-1 192.168.1.20 5556
Machine-2 192.168.1.30 5556
Machine-3 192.168.1.40 5556
4. 新建集群環境>集群>新建
5. 新建服務器環境>集群>新建
輸入服務器名、監聽IP地址、端口號、所屬集群等
點擊完成
重復以上步驟建立4個服務器分別對應 4台計算機
6.
調整服務器 設置
配置>SSL
主機名驗證選擇 無
配置>服務器啟動
設置服務器啟動參數 根據實際情況填寫
JAVA主目錄 /opt/weblogic/jrockit-jdk1.6.0_45-R28.2.7-4.1.0
BEA 主目錄 /opt/weblogic/Oracle/Middleware
根目錄 /opt/weblogic/Oracle/Middleware/user_projects/domains/clusters_domain
類路徑 /opt/weblogic/Oracle/Middleware/wlserver_10.3/server/lib/weblogic.jar
安全策略文件/opt/weblogic/Oracle/Middleware/wlserver_10.3/server/lib/weblogic.policy
用戶名
密碼
7. 啟動節點管理器進程
每台服務器上均運行節點管理器進程:
Sh /opt/weblogic/Oracle/Middleware/wlserver_10.3/server/bin/startNodeManager.sh192.168.1.10 5556
Sh /opt/weblogic/Oracle/Middleware/wlserver_10.3/server/bin/startNodeManager.sh192.168.1.20 5556
Sh /opt/weblogic/Oracle/Middleware/wlserver_10.3/server/bin/startNodeManager.sh192.168.1.30 5556
Sh /opt/weblogic/Oracle/Middleware/wlserver_10.3/server/bin/startNodeManager.sh192.168.1.40 5556
8、運行一次受管服務器進程(每個受管服務器都要在節點服務器中運行一次)
Sh /opt/weblogic/Oracle/Middleware/user_projects/domains/clusters_domain/bin/stopManagedWebLogic.sh Sever-1(受管服務器名)http://192.168.1.10:7001(管理服務器地址及端口)
需要在每個節點管理上運行此進程一次,之後就不用運行了,運行該進程後會生成相應的受管服務器目錄。
/opt/weblogic/Oracle/Middleware/user_projects/domains/clusters_domain/servers下
9、服務器>控制
勾選需要啟動的服務器,啟動即可
至此weblogic集群的配置已經完畢,之後就可以降應用部署到集群當中了,可以選擇部署到集群中所有服務器,或部分服務器。
1、 下載haproxy
Haproxy.1wt.eu 下載最新穩定版haproxy
2、 安裝環境
如果系統沒有安裝gcc的話需要安裝gcc
yum install gcc
3、 Cd /opt
Tar –zxvf haproxy-1.4.24.tar.gz
Cd haproxy-1.4.24
make TARGET=linux26
make install
4、 Haproxy安裝到/usr/local/haproxy
編輯配置文件 vi /usr/local/haproxy/conf/haproxy.cfg
global
log 127.0.0.1 local1 info
maxconn 20480
chroot /usr/share/haproxy
uid 99
gid 99
daemon
nbproc 1
pidfile /usr/share/haproxy/haproxy.pid
defaults
log global
mode http
option httplog
option dontlognull
retries 3
option redispatch
maxconn 20480
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen admin_stats
bind *:9020
stats refresh 30s
stats uri /haweb
stats realm Haproxy Manager
stats auth test:test
#stats hide-version
frontend test
bind *:80
#
acl test_2013 path_beg -i /test_2013
acl test_2014 path_beg -i /test_2014
use_backend test_2013.server if test_2013
use_backend test_2014.server if test_2014
backend test2013.server
mode http
#fullconn 1000
balance roundrobin
cookie SERVERID insert indirect
option httpchk HEAD/test2013/skins/logo.gif
server test201331192.168.1.10:8080 cookie test1 check inter 2000 rise 3 fall 3 weight 3
server test201332192.168.1.20:8080 cookie test2 check inter 2000 rise 3 fall 3 weight 3
server test201333192.168.1.30:8080 cookie test3 check inter 2000 rise 3 fall 3 weight 3
server test201334192.168.1.40:8080 cookie test4 check inter 2000 rise 3 fall 3 weight 3
backend test_2014.server
mode http
#fullconn 1000
balance roundrobin
cookie SERVERID insert indirect
option httpchk HEAD/test_2014/skins/logo.gif
server test_201431 192.168.1.10:8080cookie test5 check inter 2000 rise 3 fall 3 weight 3
server test_201432192.168.1.20:8080 cookie test6 check inter 2000 rise 3 fall 3 weight 3
server test_201433192.168.1.30:8080 cookie test7 check inter 2000 rise 3 fall 3 weight 3
server test_201434192.168.1.40:8080 cookie test8 check inter 2000 rise 3 fall 3 weight 3
這是haproxy 的基本配置,2台haproxy 配置保持一致即可。
這裡可以在/etc/init.d/ 下建立一個haproxy腳本文件,方便執行service haproxy start/stop/restart
內容如下:
#!/bin/bash
BASE_DIR="/usr/local/haproxy"
ARGV="$@"
start()
{
echo "START HAPoxy SERVERS"
$BASE_DIR/haproxy -f$BASE_DIR/conf/haproxy.cfg
}
stop()
{
echo "STOP HAPoxy Listen"
kill -TTOU $(cat/usr/share/haproxy/haproxy.pid)
echo "STOP HAPoxy process"
kill -USR1 $(cat /usr/share/haproxy/haproxy.pid)
}
case $ARGV in
start)
start
ERROR=$?
;;
stop)
stop
ERROR=$?
;;
restart)
stop
start
ERROR=$?
;;
*)
echo "hactl.sh[start"restart|stop]"
esac
exit $ERROR
之後可以在/etc/rc3.d 建立連接,實現開機自動啟動
1、 下載keepalived軟件
官網下載keepalived-1.2.7.tar.gz
2、 安裝軟件環境
yum install openssl-devel popt-devel
3、 tar –zxvf keepalived-1.2.7.tar.gz
cd /root/keepalived-1.2.7
./configure –prefix=/usr/local/keepalived/
Make & make install
4、 cp /usr/local/keepalived/etc/keepalived/samples/keepalived.conf.vrrp/etc/keepalived/ keepalived.conf ##拷貝配置文件
cp /usr/local/keepalived/etc/sysconfig/keepalived/etc/sysconfig/keepalived ##拷貝執行文件
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived/etc/init.d/keepalived ##拷貝執行文件
cp /usr/local/keepalived/sbin/keepalived/usr/sbin/keepalived #拷貝執行文件
5、 示例配置文件
本配置為雙主keepalived配置,即有個虛擬IP,雙主機互為主備,可以更高效的利用服務器資源,如果是一主一備方式,只配置一個虛擬IP即可。
!Configuration File for keepalived
global_defs{
notification_email {
}
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instanceVI_1 {
state MASTER
interface eth1
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.30
}
}
vrrp_instanceVI_2 {
state BACKUP
interface eth1
virtual_router_id 52
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.40
}
}
同樣的在/etc/rc3.d下建立鏈接即可實現開機自動啟動,至此Haproxy+keepalived 搭建weblogic高可用負載均衡集群已經配置完畢,但這只是開始,這只是基礎配置,系統的整體優化是重點,包括haproxy weblogic等,都需要根據實際情況進行調優。