歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Haproxy+Keepalived搭建Weblogic高可用負載均衡集群

Haproxy+Keepalived搭建Weblogic高可用負載均衡集群

日期:2017/3/1 12:07:21   编辑:關於Linux

配置環境說明:

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服務器,還可以包含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或沒有響應時,就需要殺掉遠程服務器進程。

\

Weblogi╧y"http://www.2cto.com/kf/yidong/wp/" target="_blank" class="keylink">WPI7bz+sLLXsLyw0MLT8rS0vag8L2g0Pg0KPHA+MaGiIHdlYmxvZ2ljyO28/rCy17A8L3A+DQo8cD652c34z8LU2MjtvP4gd2xzMTAzNV9nZW5lcmljLmphcjwvcD4NCjxwPmpyb2NraXQtamRrMS42LjBfNDUtUjI4LjIuNy00LjEuMC1saW51eC14NjQuYmluPC9wPg0KPHA+MqGiIL2owaLTw7un1+mhotPDu6fU2i9vcHTPwr2owaJ3ZWJsb2dpY8S/wrw8L3A+DQo8cD5Sb290IM/C1rTQ0KO6PC9wPg0KPHA+Z3JvdXBhZGR3ZWJsZ29pYzwvcD4NCjxwPnVzZXJhZGQgLWcgd2VibG9naWMgd2VibG9naWM8L3A+DQo8cD5wYXNzd29yZCB3ZWJsb2dpYzwvcD4NCjxwPm1rZGlyIC9vcHQvd2VibG9naWM8L3A+DQo8cD5jaG93biB3ZWJsb2dpYzp3ZWJsb2dpYyAvb3B0L3dlYmxvZ2ljPC9wPg0KPHA+M6GiILCy17BqcmU8L3A+DQo8cD4vb3B0L3dlYmxvZ2ljLyBqcm9ja2l0LWpkazEuNi4wXzQ1LVIyOC4yLjctNC4xLjAtbGludXgteDY0LmJpbjwvcD4NCjxwPjShoiCwstewd2VibG9naWM8L3A+DQo8cD7J6NbDu7e+s7Hkwb+x4LytL2V0Yy9wcm9maWxlPC9wPg0KPHA+ZXhwb3J0SkFWQV9IT01FPS9vcHQvd2VibG9naWMvanJvY2tpdC1qZGsxLjYuMF80NS1SMjguMi43LTQuMS4wPC9wPg0KPHA+ZXhwb3J0QkVBX0hPTUU9IC9vcHQvd2VibG9naWMvT3JhY2xlL01pZGRsZXdhcmUvPC9wPg0KPHA+ZXhwb3J0IFBBVEg9JEpBVkFfSE9NRS9iaW46JFBBVEg8L3A+DQo8cD4xoaIg0tTPwndlYmxvZ2ljyO28/rCy17C5/bPMzbzGrNWq19S7pcGqzfiho8K3vra/ycTcsrvNrKOsvfa5qbLOv7yhozwvcD4NCjxwPsrXz8iwstewanJvY2tpdC1qZGs8L3A+DQo8cD48aW1nIGFsdD0="" src="http://www.2cto.com/uploadfile/Collfiles/20160425/20160425091046315.jpg" title="\" />

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管理界面均可後期根據需要再創建,沒必要在此創建。

點擊創建 就完成了新域的創建

搭建weblogic集群

本文使用節點管理器方式來控制受管服務器,使用節點管理的方式有幾點好處:

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集群的配置已經完畢,之後就可以降應用部署到集群當中了,可以選擇部署到集群中所有服務器,或部分服務器。

Haproxy與keepalived 配置

Haproxy 配置

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 建立連接,實現開機自動啟動

Keepalived 配置

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 {

[email protected]

[email protected]

[email protected]

}

[email protected]

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等,都需要根據實際情況進行調優。

Copyright © Linux教程網 All Rights Reserved