內(nèi)容要點(diǎn)
創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);可快速的進(jìn)行網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,是專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
一、magent介紹:
二、架構(gòu)部署:
一、magent介紹:
magent是一款開源的代理服務(wù)軟件,我們可以通過它來實(shí)現(xiàn)緩存數(shù)據(jù)的同步,當(dāng)然這里說的同步不是說memcached之間就能互相通訊了, 而magent可以同時(shí)連接多個(gè)memcached節(jié)點(diǎn), 通過magent綁定的VIP從客戶端登錄memcached寫入數(shù)據(jù),其他節(jié)點(diǎn)的memcached數(shù)據(jù)也會同步。
二、架構(gòu)部署:
環(huán)境說明:
角色 | 需要安裝的軟件包 |
memcached主(IP地址:192.168.220.137) | magent 、memcached 、libevent 、keeplived |
memcached從(IP地址:192.168.220.135) | memcached 、 libevent 、keeplived |
客戶端(IP地址:192.168.220.131) | telnet 測試工具 |
虛擬ip | (192.168.220.100) |
第一步:配置 memcache 主緩存節(jié)點(diǎn)和從緩存節(jié)點(diǎn)(兩臺服務(wù)器配置相同)
1、安裝依賴包:
yum?install?gcc?gcc-c++?make?-y
2、解壓軟件包:
1、tar?zxvf?memcached-1.5.6.tar.gz?-C?/opt/ 2、tar?zxvf?libevent-2.1.8-stable.tar.gz?-C?/opt/ 3、mkdir?/opt/magent tar?zxvf?magent-0.5.tar.gz?-C?/opt/magent/
3、編譯和安裝:
1、 cd?/opt/libevent-2.1.8-stable ./configure?--prefix=/usr/ make?&&?make?install 2、 cd?/opt/memcached-1.5.6 ./configure?\ --with-libevent=/usr make?&&?make?install
4、創(chuàng)建軟連接:
ln?-s?/usr/lib/libevent-2.1.so.6?/usr/lib64/libevent-2.1.so.6
第二步:部署主服務(wù)器 ----- 安裝 magent代理,從服務(wù)器不需要
1、cd?/opt/magent vim?ketama.h 在開頭處增減以下代碼: #ifndef?SSIZE_MAX #define?SSIZE_MAX?32767 #endif
vim?Makefile LIBS?=?-levent?-lm???//加上?-lm
2、修改完成后 make 編譯
3、此時(shí),make完成后,就會產(chǎn)生 magent可執(zhí)行程序
4、將這個(gè) magent 程序復(fù)制到path環(huán)境變量中
cp?magent?/usr/bin/
5、可以將安裝好的 magent 復(fù)制到從服務(wù)器,這樣從服務(wù)器就不需要再配置了
yum?install?openssh-clients?-y???//安裝工具包 scp?magent?root@192.168.220.135:/usr/bin/
第三步:在主從服務(wù)器上都安裝 keepalived,并部署
(1)主服務(wù)器:
yum?install?keepalived?-y????//安裝keepalived
修改配置文件:
vim?/etc/keepalived/keepalived.conf //定義一個(gè)函數(shù),建議寫在最前面 vrrp_script?magent?{ ????????script?"/opt/shell/magent.sh" ????????interval?2 ??????} ?????? 做如下修改: router_id?MAGENT_HA????????//修改id名 interface?ens33????????????//修改網(wǎng)卡信息 virtual_ipaddress?{ ????????192.168.220.100?????//定義好虛擬ip地址 ????}??? ???? vrrp_instance?VI_1?{ ..... //調(diào)用函數(shù).以下三行代碼寫在vrrp模塊內(nèi) track_script?{ ????????magent ??????} .....
(2)從服務(wù)器:
vim?/etc/keepalived/keepalived.conf 做如下修改: router_id?MAGENT_HB?????????//id名和第一臺要不一樣 state?BACKUP???????????????//從服務(wù)器 virtual_router_id?52???????//id號和第一臺不一樣 priority?90?????????????????//優(yōu)先級低與主服務(wù)器
第四步:配置主、從服務(wù)器腳本
(1)創(chuàng)建一個(gè)腳本:
mkdir?/opt/shell
(2)編寫:
vim?magent.sh #!/bin/bash K=`ps?-ef?|?grep?keepalived?|?grep?-v?grep?|?wc?-l` if?[?$K?-gt?0?];?then ????magent?-u?root?-n?51200?-l?192.168.220.100?-p?12000?-s?192.168.220.137:11211?-b?192.168.220.135:11211 else pkill?-9?magent fi // -n?51200?????????????//定義用戶最大連接數(shù) -l?192.168.220.100???//指定虛擬IP -p?12000?????????????//指定端口號 -s???????????????????//指定主緩存服務(wù)器 -b???????????????????//指定從緩存服務(wù)器
(3)給腳本添加一個(gè)執(zhí)行權(quán)限:
chmod?+x?magent.sh
systemctl?stop?firewalld.service???//必須關(guān)閉否則magent不啟動 setenforce?0
(4)開啟 keepalived 服務(wù)
systemctl?start?keepalived.service netstat?-anpt?|?grep?12000?//確認(rèn)magent運(yùn)行,端口正常運(yùn)行
(5)驗(yàn)證主從 :
1、主服務(wù)器 ----- 查看 /var/log/messages 文件,找到關(guān)鍵詞:Transition to MASTER STATE
2、從服務(wù)器 ----- 找到關(guān)鍵詞:Entering BACKUP STATE
(6) ip addr 命令 ----- 確定漂移地址生效:
第五步:啟動主 、從服務(wù)器
(1)啟動主服務(wù)器:
memcached?-m?512k?-u?root?-d?-l?192.168.220.137?-p?11211
(2)啟動從服務(wù)器:
memcached?-m?512k?-u?root?-d?-l?192.168.220.135?-p?11211
(3)查看端口是否正常開啟:
netstat?-anptu?|?grep?11211
第六步:客戶機(jī)測試
1、先安裝 Telnet 工具:
yum?install?telnet?-y
2、測試:
使用漂移地址登錄連接:
telnet?192.168.220.100?12000
在客戶機(jī)上操作,寫入一個(gè)數(shù)據(jù),同時(shí)觀察主、從服務(wù)器上是否會同步生成:
(1)主服務(wù)器:
(2)從服務(wù)器:
3、雙機(jī)熱備:
(1)停掉主服務(wù)器:
systemctl?stop?keepalived.service
(2)客戶機(jī)依舊可以連接: