ActiveMQ基於檔案共享的主從配置方案
阿新 • • 發佈:2019-01-03
假設兩臺裝有activeMq服務的伺服器分別為:
2、修改nfs的共享配置檔案:/etc/exports
其中/usr/local/apache-activemq-5.7.0/data/kahadb 為要共享的資料夾:192.168.102.90 為可以訪問該資料夾的地址(支援萬用字元*,如可以配置為192.168.102.*);rw表示支援讀寫操作;no_root_squash表示客戶機以root身份訪問時對映為本機的nobody使用者,這個引數很重要,必須指定,否則可能報沒有許可權訪問的錯誤。
3、關閉防火牆(service iptables stop)或者將相關埠啟用(可以使用rpcinfo -p 192.168.102.91檢視需要開啟的埠號)。
4、重新啟動nfs服務和rpcbind服務。
1、同91上1的配置。
2、建立目錄/data/activemq
3、修改activeMq的配置檔案conf/activemq.xml,將
即 將activeMq的資料檔案儲存目錄修改為第2步建立的目錄:/data/activemq。
4、檢查可以掛載的檔案系統:showmount -e 192.168.102.91系統會列出可以掛在的檔案
5、掛載檔案系統
當然,最後將該目錄自動掛載,避免系統重啟後需手動掛載。自動掛載即修改配置檔案/etc/fstab
這樣,主從配置完成。
修改程式碼中的brokerURL:failover://(tcp://192.168.102.90:61616,tcp://192.168.102.91:61616),啟用斷線重連機制。
這樣當kill掉90的activeMq時,系統就自動連線到91上了。如果啟動90後,還想讓其連線到90上,kill掉91的activeMq即可。
<span style="white-space:pre"> </span>192.160.102.90
192.168.102.91
並打算將91上activeMq目錄的資料儲存目錄共享給90的activeMq服務。
91上配置:
1、安裝NFS服務和rpcbind服務,伺服器上一般都安裝了這兩個服務,可以使用命令"service nfs status"和"service rpcbind status"檢視這兩個服務是否已啟動。如果系統中的確沒有安裝這兩個服務,請先安裝。2、修改nfs的共享配置檔案:/etc/exports
# 檔案路徑 /usr/local/apache-activemq-5.7.0/data/kahadb 192.168.102.90(rw,no_root_squash)
其中/usr/local/apache-activemq-5.7.0/data/kahadb 為要共享的資料夾:192.168.102.90 為可以訪問該資料夾的地址(支援萬用字元*,如可以配置為192.168.102.*);rw表示支援讀寫操作;no_root_squash表示客戶機以root身份訪問時對映為本機的nobody使用者,這個引數很重要,必須指定,否則可能報沒有許可權訪問的錯誤。
3、關閉防火牆(service iptables stop)或者將相關埠啟用(可以使用rpcinfo -p 192.168.102.91檢視需要開啟的埠號)。
4、重新啟動nfs服務和rpcbind服務。
90上配置:
2、建立目錄/data/activemq
3、修改activeMq的配置檔案conf/activemq.xml,將
<span style="white-space:pre"> </span><persistenceAdapter>
<kahaDB directory="/${activemq.data}/kahadb"/>
</persistenceAdapter>
修改為:<span style="white-space:pre"> </span><persistenceAdapter> <kahaDB directory="/data/activemq"/> </persistenceAdapter>
即 將activeMq的資料檔案儲存目錄修改為第2步建立的目錄:/data/activemq。
4、檢查可以掛載的檔案系統:showmount -e 192.168.102.91系統會列出可以掛在的檔案
Export list for 192.168.102.91:
/usr/local/apache-activemq-5.7.0/data/kahadb 192.168.102.90
5、掛載檔案系統
mount -t nfs 192.168.102.91:/usr/local/apache-activemq-5.7.0/data/kahadb /data/activemq
該命令就將91上目錄/usr/local/apache-activemq-5.7.0/data/kahadb掛載到本機目錄/data/activemq上。當然,最後將該目錄自動掛載,避免系統重啟後需手動掛載。自動掛載即修改配置檔案/etc/fstab
這樣,主從配置完成。
修改程式碼中的brokerURL:failover://(tcp://192.168.102.90:61616,tcp://192.168.102.91:61616),啟用斷線重連機制。
這樣當kill掉90的activeMq時,系統就自動連線到91上了。如果啟動90後,還想讓其連線到90上,kill掉91的activeMq即可。
注意:
1、共享檔案的主從配置,是通過檔案共享鎖來實現的。先拿到檔案鎖的服務就是master,其它為slave服務,slave服務預設每10秒試圖拿一次檔案鎖,可以檢視activeMq的控制檯。2、只有master的控制檯(如http://192.168.102.91:8161/admin)能夠訪問,slave的控制檯不能訪問,原因就是slave沒有拿到檔案鎖,不能訪問檔案。