tomcat apache jk集群 負載均衡

2022-08-05 16:27:14 字數 2130 閱讀 7422

二。參考:

三。環境:多台伺服器。

四。安裝。

主機a:apache,tomcata,ip:192.168.1.20  ,apache埠80,tomcat埠8080

主機b tomcatb,ip:192.168.1.21,埠80

主機c tomcatc,ip:192.168.1.22,埠80

五。配置apache。

當然你也可以放在httpd.conf檔案最後面,隨大家愛好。。。,然後在http.conf最後面加入這幾行

這個workers.properties和uriworkermap.properties名字隨便取,但是字尾名要是properties。mod_jk.log同樣也可以隨便取名字,這個檔案就是寫日誌的。jkloglevel 日誌等級,warn以上的都會寫入日誌,而這些檔案將會放在根目錄下的conf資料夾下。

workers.properties就是負責負載均衡的。而uriworkermap.properties則是設定哪些檔案由apache處理,哪些檔案由tomcat處理。

在conf資料夾下新建剛才說的workers.properties。在裡面寫:

其中port為tomcat下server.xml裡的 對應埠。host值為對應主機,這裡不要擔心其他主機tomcat不為8080等其他埠,apache是通過ajp埠找到對應tomcat的。type的值為固定ajp13,這個值不能修改哦。lbfactor 的值就是均衡時apache訪問tomcat的概率,如果3個tomcat的值都相等,那麼服務設定了負載均衡的話,就會平均分發給各個tomcat,。controller下面就是負載均衡器了。type=lb表示負載均衡,balanced_workers表示指定哪些tomcat負載均衡,retries的值我現在還不明白什麼意思。sticky_session=false 表示進行session複製,為true表示session不複製。詳細見上面給的參考

接著在conf資料夾下新建uriworkermap.properties。在裡面寫下:

status是剛才workers.properties檔案中配置的,意思是由tomcat進行處理。哪些由tomcat處理呢?除了下面那些字尾的檔案外,其他的都由tomcat處理,相信大家這時候都知道後面哪些由誰處理了,對,就是apache。當然你也可以增加其他型別檔案由apache處理。

另:如果tomcatb下面有其他jsp應用的話,那麼server.xml就要這樣配置了:

localhost這個值請不要網域名稱表示,因為apache是通過ip找到對應專案的。當然下面的"其他應用"可以使用網域名稱表示。並不影響。

就這樣apache就配置完了,接著是配置tomcat。

六。配置tomcat。

在每個tomcat的server.xml檔案中,修改以下資訊:

找到類似這樣的:,預設tomcat把這個給注釋掉了,去掉注釋,jvmroute裡面的值就是workers.properties中設定的tomcata,tomcatb,tomcatc。然後在該標籤內新增以下資訊:

還有一點,就是如果3個tomat都是放在同一臺電腦上的話,ajp埠要設定不同,還有

找到這裡,埠4000也要設定不同。。。。

這樣,集群就配置好了,當然這個集群只是實現了其中的一種方式,就是第一次請求某個tomcat,後續的請求都會由這個tomcat進行處理。當然,這裡session沒有進行複製了。

如果想進行session複製,那麼要修改workers.properties:worker.dlog4j.sticky_session=false。

還要在專案中的web.xml檔案下加上:

最後一點就是修改server.xml,在 標籤下加上:

我就是沒有加上這點,其他都設定好了,導致session無法複製。將以下這行注釋掉:

改為:這個mapsendoptions的值也有特殊含義,好像tomcat文件有講解吧...

額,似乎就這些配置了,session可以複製了。但是我要說的是,這個session是可以複製,但也就是當session在建立或者消費的時候會進行複製,如果session進行更新操作,將無法複製。當然,也許是我少配置**了,如果誰這樣配置了session更新了還可以複製的話,還希望在下面留個言,謝謝!在tomcat官網看到,

這個就是提供session複製的介面,不過tomcat6.0版本好像還沒實現這個介面,導致session不能真正意義上覆制了。

訓練集 驗證集 測試集

訓練集loss 驗證集loss 測試集loss 乙個好的網路,二者的差距應該是很低的。但一般情況下因為網路不可避免地存在一定程度上的過擬合,所以肯定是train loss低於test lost,但如果低太多,就得考慮是過擬合的問題還是因為樣本的特徵空間不統一的問題。驗證集基本是在每個epoch完成後...

訓練集,驗證集,測試集

普通引數就是可以被梯度下降所更新的,也就是訓練集所更新的引數。超引數是指訓練開始之前設定的引數,不在梯度下降的更新範圍內,比如網路層數 網路節點數 迭代次數 學習率等等 1.訓練集 確定模型後,用於訓練普通引數 2.驗證集 交叉驗證集cv 驗證集在每個epoch訓練完成後,用來測試一下當前模型的準確...

訓練集 測試集 驗證集

訓練集 用來訓練和擬合模型。驗證集 當通過訓練集訓練出多個模型後,使用驗證集資料糾偏或比較 測試集 模型泛化能力的考量。泛化 對未知資料的 能力 from sklearn.model selection import train test split import numpy as np from ...