您好,登錄后才能下訂單哦!
Memcached 是一個高性能的分布式內存對象緩存系統,用于動態Web應用以減輕數據庫負載。它通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提高動態、數據庫驅動網站的速度。Memcached基于一個存儲鍵/值對的hashmap。其守護進程(daemon )是用C寫的,但是客戶端可以用任何語言來編寫,并通過memcached協議與守護進程通信。
主機名稱 | IP地址 | 主要服務軟件 |
---|---|---|
memcached主服務器 | 172.16.10.138 | memcached,libevent,magent,keepalived |
memcached從服務器 | 172.16.10.137 | memcached,libevent,keepalived |
客戶端 | 172.16.10.134 | telnet測試 |
tar xf libevent-2.1.8-stable.tar.gz -C /opt
tar xf memcached-1.5.6.tar.gz -C /opt
tar xf magent-0.5.tar.gz -C /opt
cd /opt/libevent-2.1.8
./configure --prefix=/usr #指定安裝路徑
make && make install #編譯安裝
cd /opt/memcached-1.5.6
./configure --with-libevent=/usr #指定安裝路徑
make && make install #編譯安裝
ln -s /usr/lib/libevent-2.1.so.6 /usr/lib64/libevent-2.1.so.6 #主服務器上magent服務需要這個模塊
cd /opt/magent
vim ketama.h
#ifndef SSIZE_MAX #修改
#define SSIZE_MAX 32767 #修改
#endif
vim Makefile
LIBS = -levent -lm #修改,添加-lm
make
cp mgent /usr/bin #把生成的mgent程序讓系統識別
- 配置memcached從緩存節點服務器
tar xzvf memcached-1.5.6.tar.gz -C /opt
tar xzvf libevent-2.1.8-stable.tar.gz -C /opt
cd /opt/libevent-2.1.8
./configure --prefix=/usr
make && make install
cd /opt/memcached-1.5.6
./configure --with-libevent=/usr
make && make i nstall
ln -s /usr/lib/libevent-2.1.so.6 /usr/lib64/libevent-2.1.so.6 #主服務器上magent服務需要這個模塊
yum install openssh-clients
scp magent root@172.16.10.137:/usr/bin/ //把產生的magent文件直接復制到從服務器。
yum -y install keepalived
vim /etc/keepalived/keepalived.conf
router_id MAGENT_HA #router_id主從不能相同,要修改
vrrp_script magent {
script "/opt/shell/magent.sh"
interval 2
} #定義一個新函數,每2s自動執行這個腳本
vrrp_instance VI_1 {
state MASTER #這邊是主服務器,從服務器是BACKUP interface ens33 #網卡接口是ens33
virtual_router_id 51
priority 100 #優先級,從服務器小于主服務器 advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
magent #觸發執行magent腳本
}
virtual_ipaddress {
172.16.10.200 #虛擬IP(vip)
}
}
將下面多余的配置全部刪除
yum -y install keepalived
vim /etc/keepalived/keepalived.conf
router_id MAGENT_HB #router_id主從不相同
vrrp_script magent {
script "/opt/shell/magent.sh"
interval 2
} #定義一個新函數,每2s自動執行這個腳本
vrrp_instance VI_1 {
state MASTER #這邊是從服務器,是BACKUP
interface ens33 #網卡接口是ens33
virtual_router_id 51
priority 90 #優先級,從服務器小于主服務器
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
magent #觸發執行magent腳本
}
virtual_ipaddress {
172.16.10.200 #虛擬IP(vip)
}
}
將下面多余的配置全部刪除
mkdir /opt/shell
vim /opt/shell/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.58.100 -p 12000 -s 192.168.58.135:11211 -b 192.168.58.132:11211
else
pkill -9 magent
fi
-n 51200 #定義用戶最大連接數
-l 192.168.58.100 #指定虛擬IP
-p 12000 #指定端口號
-s #指定主緩存服務器
-b #指定從緩存服務器
#這個腳本意思就是一旦檢測到系統進程中有keepalived進程,就執行magent這條命令,如果沒有,則將magent進程殺死。總得來說就是,主服務器上沒有keepslived進程,magent就會和從服務器連接。
chmod +x /opt/shell/magent.sh
#給腳本添加執行權限
mkdir -p /opt/shell
vim /opt/shell/magent.sh
#!/bin/bash
K=`ip addr | grep 192.168.58.100 | grep -v grep | wc -l`
if [ $K -gt 0 ]; then
magent -u root -n 51200 -l 192.168.58.100 -p 12000 -s 192.168.58.135:11211 -b 192.168.58.132:11211
else
pkill -9 magent
fi
#從服務器的腳本意思就是檢測到虛擬ip漂移是否到自己身上,如果VIP進行漂移到從服務器之后,就會執行magent這條命令,目的就是在主服務器宕掉的時候,從服務器能夠正常啟動。
首先使用客戶機安裝telnet,遠程連接VIP節點,寫入用戶之后,主從緩存服務器會自動獲取下載該用戶。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。