用aache和tomcat搭建集群實現(xiàn)負載均衡九_第1頁
用aache和tomcat搭建集群實現(xiàn)負載均衡九_第2頁
用aache和tomcat搭建集群實現(xiàn)負載均衡九_第3頁
用aache和tomcat搭建集群實現(xiàn)負載均衡九_第4頁
用aache和tomcat搭建集群實現(xiàn)負載均衡九_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、用aache和tomcat搭建集群實現(xiàn)負載均衡九 用aache和tomcat搭建集群,實現(xiàn)負載均衡 一、集群和負載均衡的概念(一)集群的概念集群(Cluster)是由兩臺或多臺節(jié)點機(服務(wù)器)構(gòu)成的一種松散耦合的計算節(jié)點集合為用戶提絡(luò)服務(wù)或應(yīng)用程序(包括數(shù)據(jù)庫、Web服務(wù)和文件服務(wù)等)的單一客戶視圖同時提接近容錯機的故障恢復(fù)能力。集群系統(tǒng)一般通過兩臺或多臺節(jié)點服務(wù)器系統(tǒng)通過相應(yīng)的硬件及軟件互連每個群集節(jié)點都是運行其自己進程的獨立服務(wù)器。這些進程可以彼此通信對絡(luò)客戶機來說就像是形成了一個單一系統(tǒng)協(xié)同起來向用戶提用程序、系統(tǒng)資源和數(shù)據(jù)。除了作為單一系統(tǒng)提服務(wù)集群系統(tǒng)還具有恢復(fù)服務(wù)器級故障的能力。集

2、群系統(tǒng)還可通過在集群中繼續(xù)增加服務(wù)器的方式從內(nèi)部增加服務(wù)器的處理能力并通過系統(tǒng)級的冗余提固有的可靠性和可用性。(二)集群的分類1、高性能計算科學(xué)集群:以解決復(fù)雜的科學(xué)計算問題為目的的IA集群系統(tǒng)。是并行計算的基礎(chǔ)它可以不使用專門的由十至上萬個獨立處理器組成的并行超級計算機而是采用通過高速連接來鏈接的一組1/2/4 CU的IA服務(wù)器并且在公共消息傳遞層上進行通信以運行并行應(yīng)用程序。這樣的計算集群其處理能力與真正超級并行機相等并且具有優(yōu)良的性價比。2、負載均衡集群:負載均衡集群為企業(yè)需求提更實用的系統(tǒng)。該系統(tǒng)使各節(jié)點的負載流量可以在服務(wù)器集群中盡可能平均合理地分攤處理。該負載需要均衡計算的應(yīng)用程序

3、處理端口負載或絡(luò)流量負載。這樣的系統(tǒng)非常適合于運行同一組應(yīng)用程序的大量用戶。每個節(jié)點都可以處理一部分負載并且可以在節(jié)點之間動態(tài)分配負載以實現(xiàn)平衡。對于絡(luò)流量也如此。通常絡(luò)服務(wù)器應(yīng)用程序接受了大量入流量無法迅速處理這就需要將流量發(fā)送給在其它節(jié)點。負載均衡算法還可以根據(jù)每個節(jié)點不同的可用資源或絡(luò)的特殊環(huán)境來進行優(yōu)化。3、高可用性集群:為保證集群整體服務(wù)的高可用考慮計算硬件和軟件的容錯性。如果高可用性群集中的某個節(jié)點發(fā)生了故障那么將由另外的節(jié)點代替它。整個系統(tǒng)環(huán)境對于用戶是一致的。實際應(yīng)用的集群系統(tǒng)中這三種基本類型經(jīng)常會發(fā)生混合與交雜。(三)典型集群科學(xué)計算集群:1、Beowulf當(dāng)談到 Linux

4、 集群時許多人的第一反映是 Beowulf。那是最著名的 Linux科學(xué)軟件集群系統(tǒng)。實際上它是一組適用于在 Linux 內(nèi)核上運行的公共軟件包的通稱。其中包括流行的軟件消息傳遞 AI如“消息傳送接口”(MI) 或“并行虛擬機”(VM)對 Linux 內(nèi) 核的修改以允許結(jié)合幾個以太接口、高性能絡(luò)驅(qū)動器對虛擬內(nèi)存管理器的更改以及分布式進程間通信 (DIC) 服務(wù)。公共全局進程標識空間允許使用 DIC 機制從任何節(jié)點訪問任何進程。2、MOSIXBeowulf類似于給系統(tǒng)安裝的一個支持集群的外掛軟件提了應(yīng)用級的集群能力。而MOSIX是徹底修改Linux的內(nèi)核從系統(tǒng)級提了集群能力它對應(yīng)用而言是完全透明

5、的原有的應(yīng)用程序可以不經(jīng)改動就能正常運行在MOSIX系統(tǒng)之上。集群中的任何節(jié)點都可以自由地加入和移除來接替其它節(jié)點的工作或是擴充系統(tǒng)。MOSIX 使用自適應(yīng)進程負載均衡和內(nèi)存引導(dǎo)算法使整體性能最大化。應(yīng)用程序進程可以在節(jié)點之間實現(xiàn)遷移以利用最好的資源這類似于對稱多處理器系統(tǒng)可以在各個處理器之間切換應(yīng)用程序。由于MOSIX通過修改內(nèi)核來實現(xiàn)集群功能所以存在兼容性問題部分系統(tǒng)級應(yīng)用程序?qū)o法正常運行。負載均衡/高可用性集群3、LVS(Linux Virtual Server)這是一個由國人主持的項目。它是一個負載均衡/高可用性集群主要針對大業(yè)務(wù)量的絡(luò)應(yīng)用(如新聞服務(wù)、上銀行、電子商務(wù)等)。LVS是

6、建立在一個主控服務(wù)器(通常為雙機)(director)及若干真實服務(wù)器(real-server)所組成的集群之上。real-server 負責(zé)實際提服務(wù)主控服務(wù)器根據(jù)指定的調(diào)度算法對real-server進行控制。而集群的結(jié)構(gòu)對于用戶來說是透明的客戶端只與單個的I(集群系統(tǒng)的虛擬I)進行通信也就是說從客戶端的視角來看這里只存在單個服務(wù)器。N54537Real-server可以提眾多服務(wù)如ft, htt, dns, telnet, nnt, smt 等。主控服務(wù)器負責(zé)對Real-Server進行控制。客戶端在向LVS發(fā)出服務(wù)請求時Director會通過特定的調(diào)度算法來指定由某個Real- Ser

7、ver來應(yīng)答請求而客戶端只與Load Balancer的I(即虛擬IVI)進行通信。其他集群:現(xiàn)在集群系統(tǒng)可謂五花八門絕大部分的OS開發(fā)商服務(wù)器開發(fā)商都提了系統(tǒng)級的集群產(chǎn)品最典型的是各類雙機系統(tǒng)還有各類科研院校提的集群系統(tǒng)。以及各類軟件開發(fā)商提的應(yīng)用級別的集群系統(tǒng)如數(shù)據(jù)庫集群Alication Server 集群Web Server集群郵件集群等等。(四)負載均衡1、概念由于目前現(xiàn)有絡(luò)的各個核心部分隨著業(yè)務(wù)量的提高訪問量和數(shù)據(jù)流量的快速增長其處理能力和計算強度也相應(yīng)地增大使得單一的服務(wù)器設(shè)備根本無法承擔(dān)。在此情況下如果扔掉現(xiàn)有設(shè)備去做大量的硬件升級這樣將造成現(xiàn)有資源的浪費而且如果再面臨下一次業(yè)

8、務(wù)量的提升時這又將導(dǎo)致再一次硬件升級的高額成本投入甚至性能再卓越 的設(shè)備也不能滿足當(dāng)前業(yè)務(wù)量增長的需求。 針對此情況而衍生出來的一種廉價有效透明的方法以擴展現(xiàn)有絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、加強絡(luò)數(shù)據(jù)處理能力、提高絡(luò)的靈活性和可用性的技術(shù)就是負載均衡(Load Balance)。2、特點和分類負載均衡(Server Load Balance)一般用于提高服務(wù)器的整體處理能力并提高可靠性可用性可維護性最終目的是加快服務(wù)器的響應(yīng)速度從而提高用戶的體驗度。負載均衡從結(jié)構(gòu)上分為本地負載均衡(Local Server Load Balance)和地域負載均衡(Global Server Load B

9、alance)(全局負載均衡)一是指對本地的服務(wù)器群做負載均衡另一是指對分別放置在不同的地理位置、有不同的絡(luò)及服務(wù)器群之間作負載均衡。地域負載均衡有以下的特點:(1)解決絡(luò)擁塞問題服務(wù)就近提實現(xiàn)地理位置無關(guān)性 (2)對用戶提更好的訪問質(zhì)量 (3)提高服務(wù)器響應(yīng)速度 (4)提高服務(wù)器及其他資源的利用效率 (5)避免了數(shù)據(jù)中心單點失效3、負載均衡技術(shù)主要應(yīng)用 (1)DNS負載均衡最早的負載均衡技術(shù)是通過DNS來實現(xiàn)的在DNS中為多個配置同一個名字因而查詢這個名字的客戶機將得到其中一個從而使得不同的客戶訪問不同的服務(wù)器達到負載均衡的目的。DNS負載均衡是一種簡單而有效的方法但是它不能區(qū)分服務(wù)器的差異

10、也不能反映服務(wù)器的當(dāng)前運行狀態(tài)。 (2)代理服務(wù)器負載均衡 使用代理服務(wù)器可以將請求轉(zhuǎn)發(fā)給內(nèi)部的服務(wù)器使用這種加速模式顯然可以提升靜態(tài)頁的訪問速度。然而也可以考慮這樣一種技術(shù)使用代理服務(wù)器將請求均勻轉(zhuǎn)發(fā)給多臺服務(wù)器從而達到負載均衡的目的。 (3)轉(zhuǎn)換關(guān)負載均衡 支持負載均衡的轉(zhuǎn)換關(guān)可以將一個外部I映射為多個內(nèi)部I對每次TC連接請求動態(tài)使用其中一個內(nèi)部達到負載均衡的目的。 (4)協(xié)議內(nèi)部支持負載均衡 除了這三種負載均衡方式之外有的協(xié)議內(nèi)部支持與負載均衡相關(guān)的功能例如HTT協(xié)議中的重定向能力等HTT運行于TC連接的最高層。 (5)NAT負載均衡 NAT(Network Address Transl

11、ation 絡(luò)轉(zhuǎn)換)簡單地說就是將一個I轉(zhuǎn)換為另一個I一般用于未經(jīng)注冊的內(nèi)部與合法的、已獲注冊的Internet I間進行轉(zhuǎn)換。適用于解決Internet I緊張、不想讓絡(luò)外部知道內(nèi)部絡(luò)結(jié)構(gòu)等的場合下。 (6)反向代理負載均衡普通代理方式是代理內(nèi)部絡(luò)用戶訪問internet上服務(wù)器的連接請求客戶端必須指定代理服務(wù)器,并將本來要直接發(fā)送到internet上服務(wù)器的連接請求 發(fā)送給代理服務(wù)器處理。反向代理(Reverse roxy)方式是指以代理服務(wù)器來接受internet上的連接請求然后將請求轉(zhuǎn)發(fā)給內(nèi)部絡(luò)上的服務(wù)器并將從服務(wù)器上得到的結(jié)果返回給 internet上請求連接的客戶端此時代理服務(wù)器對

12、外就表現(xiàn)為一個服務(wù)器。反向代理負載均衡技術(shù)是把將來自internet上的連接請求以反向代理的方式動態(tài)地轉(zhuǎn)發(fā)給內(nèi)部絡(luò)上的多臺服務(wù)器進行處理從而達到負載均衡的目的。 (7)混合型負載均衡在有些大型絡(luò)由于多個服務(wù)器群內(nèi)硬件設(shè)備、各自的規(guī)模、提的服務(wù)等的差異我們可以考慮給每個服務(wù)器群采用最合適的負載均衡方式然后又在這多個服務(wù)器群間再一次負載均衡或群集起來以一個整體向外界提服務(wù)(即把這多個服務(wù)器群當(dāng)做一個新的服務(wù)器群)從而達到最佳的性能。我們將這種方式稱之為混合型負載均衡。此種方式有時也用于單臺均衡設(shè)備的性能不能滿足大量連接請求的情況下。二、搭建集群和實現(xiàn)負載平衡(一)前期準備我的系統(tǒng)用的是window

13、sX專業(yè)版我要做的是用一個aache和多個(這里以兩個作為示例)tomcat通過jk方式構(gòu)造一個集群。以下是要首先準備的東西:1、jdk我用的版本是jdk1.5.0_06下載是htt:/16/ECom/EComTicketServlet/BEGIND597A309654D73D910E051D73D539D5F/-2147483648/2438196255/1/852050/851882/2438196255/2ts+/westCoastFSEND/jdk-1.5.0_13-oth-JR/jdk-1.5.0_13-oth-JR:3/jdk-1_5_0_13-window

14、s-i586-.exe2、aache我用的版本是2.2.4下載是htt://httd/binaries/win32/aache_2.2.4-win32-x86-oenssl-0.9.8d.msi3、tomcat我用的版本是5.5的解壓版本這里要注意:不能用安裝的版本因為一臺機器上裝兩個一樣的tomcat是會出錯誤的。下載是htt:/4、jk這個jk的版本本來有兩個的但是版本2已經(jīng)被廢棄掉了目前可用的jk版本是1.2.25。每個aache的版本都會有一個特定的jk與之對應(yīng)所以這里要用的jk也必須是為aache-2.2.4開發(fā)的那個才行。它的下載是htt:/.aac

15、/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.25/mod_jk-aache-2.2.4.so有了這四樣?xùn)|西我們就可以開始做集群了。(二)安裝1、相信需要看這篇文章的人JDK的安裝一定不會陌生這里不在贅述。只是需要提醒一下:環(huán)境變量別忘記配置了。2、安裝aache也沒有什么難度就是在安裝過程中要配置域名、址和管理員郵箱之類的信息這個信息完全可以按照提示然后修改下填入即可之后想修改的話直接到配置文件中改就行了。除了這個地方還要保證機器上的80 端口沒有被其他程序占用。至于安裝徑完全取決于個人愛好。其他的默認就行了。安裝

16、成功后系統(tǒng)右下角的托盤區(qū)會有個圖標我們可以通過這個啟動aache如果那個小紅點變成綠色說明服務(wù)已經(jīng)正常啟動了(如果服務(wù)沒有啟動起來說明安裝過程中的配置有錯誤建議卸載后重裝)。如果按照默認端口是80的話那打開瀏覽器輸入:htt:/localhost/應(yīng)該可以看到 " It works “的字樣。這樣就可以進入下一步了。3、解壓縮tomcat記得要做兩份。這里不妨將兩個tomcat命名為:tomcat- 5.5.25_1和tomcat-5.5.25_2其實這兩個文件夾中的東西是完全一樣的。但是我為了在同一臺機器上做集群那就要保證兩個 tomcat運行起來不會在端口上起沖突。進入t

17、omcat-5.5.25_1/conf目錄用文本器打開并修改server.xml將該 tomcat的默認8080端口改為8088(其實沒必要改我改這個是因為我機器上還有其他tomcat占用著8080端口)。然后進入tomcat- 5.5.25_2/conf目錄同樣將8080修改掉至于改成多少沒多大關(guān)系只要不占用其他程序的端口應(yīng)該不會出什么問題。這樣tomcat就算安裝好了。4、jk這東西是一個連接模塊不用安裝直接將mod_jk-aache-2.2.4.so這個文件拷貝到aache安裝目錄下的modules文件夾下面就行了。這樣安裝完成下面開始配置。(三)配置這個地方才是搭建集群的關(guān)鍵所在我也會

18、盡我的可能寫的詳細點。1、配置tomcat為防止沖突進入第二個tomcat主目錄然后進入conf目錄打開server.xml修改配置。主要是修改端口我這里把所有的端口信息都在原有基礎(chǔ)上加1000即原端口是8009我改為9009。當(dāng)然你不必和我一樣只要保證不沖突就 OK!這些配置在aache的配置中可能會用到。2、配置aache(1)進入aache的主目錄然后進入conf文件夾用文本器打開httd.conf在該文件末尾加上如下幾行:# 加載 mod_jk 模塊LoadModule jk_module modules/mod_jk-aache-2.2.4.so# 配置 mod_jkJkWorker

19、sFile conf/workers.roerties #加載集群中的workersJkMountFile conf/uriworkerma.roerties #加載workers的請求處理分配文件JkLogFile logs/mod_jk.log #指定jk的輸出文件JkLogLevel warn #指定級別(2)不要改變目錄新建一個文件:workers.roerties該文件用來配置web容器的信息。該文件的內(nèi)容如下:# worker列表worker.list=controller, status#第一個server的配置server名為s1#aj13 端口號在tomcat下server.

20、xml配置,默認8009worker.s1.ort=8009#tomcat的主機如不為本機請?zhí)顚慽worker.s1.host=localhostworker.s1.tye=aj1 3#server的加權(quán)比重值越高分得的請求越多worker.s1.lbfactor=1#第二個server的配置server名為s2worker.s2.ort=9009worker.s2.host=localhostworker.s2.tye=aj13worker.s2.lbfactor=1#server名為controller,用于負載均衡worker.controller.tye=lbworker.retries=3 #重試次數(shù)#指定分擔(dān)請求的server列表用逗號分隔worker.controller.balanced_workers=s1,s2#設(shè)置用于負載均衡的server的session可否共享 有不少文章說設(shè)置為1是可以的但是我是設(shè)置為0才可以的worker.controller.sticky_session=0#worker.controller.sticky_session_force=1worker.status.tye=status(3)不要改變目錄新建一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論