新聞中心
一、前言
magent是一款開源的代理服務軟件,我們可以通過它來實現緩存數據的同步,當然這里說的同步不是說memcached之間就能互相通訊了, 而magent可以同時連接多個memcached節(jié)點, 通過magent綁定的VIP從客戶端登錄memcached寫入數據,其他節(jié)點的memcached數據也會同步。
企業(yè)建站必須是能夠以充分展現企業(yè)形象為主要目的,是企業(yè)文化與產品對外擴展宣傳的重要窗口,一個合格的網站不僅僅能為公司帶來巨大的互聯網上的收集和信息發(fā)布平臺,成都創(chuàng)新互聯公司面向各種領域:報廢汽車回收等成都網站設計、營銷型網站解決方案、網站設計等建站排名服務。
二、架構部署
環(huán)境說明:
1、配置 memcache 主緩存節(jié)點和從緩存節(jié)點(兩臺服務器配置相同)
yum install gcc gcc-c++ make -y
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/
2、編譯安裝
cd /opt/libevent-2.1.8-stable
./configure --prefix=/usr/
make && make install
cd /opt/memcached-1.5.6
./configure \
--with-libevent=/usr
make && make install
3、創(chuàng)建軟連接
ln -s /usr/lib/libevent-2.1.so.6 /usr/lib64/libevent-2.1.so.6
4、部署主服務器 ----- 安裝 magent代理,從服務器不需要
cd /opt/magent
vim ketama.h
在開頭處增減以下代碼:
#ifndef SSIZE_MAX
#define SSIZE_MAX 32767
#endif
vim Makefile
LIBS = -levent -lm //加上 -lm
5、修改完成后 make 編譯
6、此時,make完成后,就會產生 magent可執(zhí)行程序
7、將這個 magent 程序復制到path環(huán)境變量中
cp magent /usr/bin/
8、可以將安裝好的 magent 復制到從服務器,這樣從服務器就不需要再配置了
yum install openssh-clients -y //安裝工具包
scp magent root@192.168.220.135:/usr/bin/
9、在主從服務器上都安裝 keepalived,并部署
(1)主服務器
yum install keepalived -y //安裝keepalived
修改配置文件:
vim /etc/keepalived/keepalived.conf
//定義一個函數,建議寫在最前面
vrrp_script magent {
script "/opt/shell/magent.sh"
interval 2
}
做如下修改:
router_id MAGENT_HA //修改id名
interface ens33 //修改網卡信息
virtual_ipaddress {
192.168.220.100 //定義好虛擬ip地址
}
vrrp_instance VI_1 {
.....
//調用函數.以下三行代碼寫在vrrp模塊內
track_script {
magent
}
.....
}
(2)從服務器
vim /etc/keepalived/keepalived.conf
做如下修改:
router_id MAGENT_HB //id名和第一臺要不一樣
state BACKUP //從服務器
virtual_router_id 52 //id號和第一臺不一樣
priority 90 //優(yōu)先級低與主服務器
10、配置主、從服務器腳本
(1)創(chuàng)建一個腳本
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 //定義用戶最大連接數
-l 192.168.220.100 //指定虛擬IP
-p 12000 //指定端口號
-s //指定主緩存服務器
-b //指定從緩存服務器
(3)給腳本添加一個執(zhí)行權限
chmod +x magent.sh
systemctl stop firewalld.service //必須關閉否則magent不啟動
setenforce 0
(4)開啟 keepalived 服務
systemctl start keepalived.service
netstat -anpt | grep 12000 //確認magent運行,端口正常運行
(5)驗證主從 :
1、主服務器 ----- 查看 /var/log/messages 文件,找到關鍵詞:Transition to MASTER STATE
2、從服務器 ----- 找到關鍵詞:Entering BACKUP STATE
(6) ip addr 命令 ----- 確定漂移地址生效
第五步:啟動主 、從服務器
(1)啟動主服務器:
memcached -m 512k -u root -d -l 192.168.220.137 -p 11211
(2)啟動從服務器:
memcached -m 512k -u root -d -l 192.168.220.135 -p 11211
netstat -anptu | grep 11211
第六步:客戶機測試
先安裝 Telnet 工具:
yum install telnet -y
測試:
1、使用漂移地址登錄連接:
2、我們在客戶機上操作,寫入一個數據,同時觀察主、從服務器上是否會同步生成:
(1)主服務器:
(2)從服務器:
3、雙機熱備:
(1)停掉主服務器:
systemctl stop keepalived.service
(2)客戶機依舊可以連接:
網站題目:Memcached+Magent+keepalived高可用集群
文章地址:http://www.dlmjj.cn/article/gshjgo.html