您好,登錄后才能下訂單哦!
內(nèi)容要點(diǎn)
一、magent介紹:
二、架構(gòu)部署:
一、magent介紹:
magent是一款開(kāi)源的代理服務(wù)軟件,我們可以通過(guò)它來(lái)實(shí)現(xiàn)緩存數(shù)據(jù)的同步,當(dāng)然這里說(shuō)的同步不是說(shuō)memcached之間就能互相通訊了, 而magent可以同時(shí)連接多個(gè)memcached節(jié)點(diǎn), 通過(guò)magent綁定的VIP從客戶端登錄memcached寫入數(shù)據(jù),其他節(jié)點(diǎn)的memcached數(shù)據(jù)也會(huì)同步。
二、架構(gòu)部署:
環(huán)境說(shuō)明:
角色 | 需要安裝的軟件包 |
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 測(cè)試工具 |
虛擬ip | (192.168.220.100) |
第一步:配置 memcache 主緩存節(jié)點(diǎn)和從緩存節(jié)點(diǎn)(兩臺(tái)服務(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 在開(kāi)頭處增減以下代碼: #ifndef?SSIZE_MAX #define?SSIZE_MAX?32767 #endif
vim?Makefile LIBS?=?-levent?-lm???//加上?-lm
2、修改完成后 make 編譯
3、此時(shí),make完成后,就會(huì)產(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名和第一臺(tái)要不一樣 state?BACKUP???????????????//從服務(wù)器 virtual_router_id?52???????//id號(hào)和第一臺(tái)不一樣 priority?90?????????????????//優(yōu)先級(jí)低與主服務(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?????????????//指定端口號(hào) -s???????????????????//指定主緩存服務(wù)器 -b???????????????????//指定從緩存服務(wù)器
(3)給腳本添加一個(gè)執(zhí)行權(quán)限:
chmod?+x?magent.sh
systemctl?stop?firewalld.service???//必須關(guān)閉否則magent不啟動(dòng) setenforce?0
(4)開(kāi)啟 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 命令 ----- 確定漂移地址生效:
第五步:?jiǎn)?dòng)主 、從服務(wù)器
(1)啟動(dòng)主服務(wù)器:
memcached?-m?512k?-u?root?-d?-l?192.168.220.137?-p?11211
(2)啟動(dòng)從服務(wù)器:
memcached?-m?512k?-u?root?-d?-l?192.168.220.135?-p?11211
(3)查看端口是否正常開(kāi)啟:
netstat?-anptu?|?grep?11211
第六步:客戶機(jī)測(cè)試
1、先安裝 Telnet 工具:
yum?install?telnet?-y
2、測(cè)試:
使用漂移地址登錄連接:
telnet?192.168.220.100?12000
在客戶機(jī)上操作,寫入一個(gè)數(shù)據(jù),同時(shí)觀察主、從服務(wù)器上是否會(huì)同步生成:
(1)主服務(wù)器:
(2)從服務(wù)器:
3、雙機(jī)熱備:
(1)停掉主服務(wù)器:
systemctl?stop?keepalived.service
(2)客戶機(jī)依舊可以連接:
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。