Memcached羣集

Memcached羣集

實驗環境

主機名 系統 IP 主要軟件包
Memcached1 CentOS 7 192.168.27.160 Magent、libevent、memcached、keepalived
Memcached2 CentOS 7 192.168.27.163 libevent、memcached、keepalived
client CentOS 7 192.168.27.164 telent

實驗過程

1、配置memcached主緩存節點和從緩存節點

  • 兩臺緩存節點配置相同;

yum install gcc gcc-c++ make #安裝環境包

tar xf memcached-1.5.6.tar.gz -C /opt/

tar xf libevent-2.1.8-stable.tar.gz -C /opt/

cd /opt/libevent-2.1.8-stable #安裝lib插件

./configure --prefix=/usr/

make && make install #編譯安裝

cd ../memcached-1.5.6 #安裝memcached

./configure --with-libevent=/usr

make && make install #編譯安裝

mkdir /opt/magent

tar xf magent-0.5.tar.gz -C /opt/magent

cd /opt/magent/

vi ketama.h

#ifndef SSIZE_MAX               #在內容開頭添加
#define SSIZE_MAX 32767
#endif

vi Makefile

LIBS = -levent -lm

make #編譯

cp magent /usr/bin/ #把生成的mgent程序讓系統識別

scp magent [email protected]:/usr/bin/ #把產生的magent命令執行文件直接複製到從服務器,從服務器無需再次進行配置了。

2、配置keepalived

  • 兩臺服務器都需配置,配置不同之處將會標出;

yum install keepalived -y

vi /etc/keepalived/keepalived.conf

router_id test01                #兩臺服務器不同,從爲test02

vrrp_script magent {            
        script "/opt/shell/magent.sh"       #腳本目錄,需要創建
        interval 2              #檢測腳本時間間隔
}

vrrp_instance VI_1 {
    state MASTER                #從服務器爲BACKUP
    interface ens33
    virtual_router_id 51        #兩臺服務器不同,從服務器爲52
    priority 100                #從服務器小,從服務器爲90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }

    track_script {      #調用腳本
        magent
    }
    virtual_ipaddress {     #虛擬IP
        192.168.27.111
    }
}

3、設置magent管理腳本

  • 兩臺服務器的magent管理腳本不同
  • 1)、主服務器上設置magent管理腳本;

cd /opt

cd /opt

mkdir shell

cd shell

vi 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.27.111 -p 12000 -s 192.168.27.160:11211 -b 192.168.27.163:11211
else
pkill -9 magent
fi

#-n 51200 //定義用戶最大連接數
#-l 192.168.175.188 //指定虛擬IP
#-p 12000  //指定端口號
#-s //指定主緩存服務器
#-b //指定從緩存服務器

chmod +x magent.sh #賦予執行權限

systemctl start keepalived.service #開啓服務

  • 2)、從服務器上設置magent管理腳本;

cd /opt

mkdir shell

cd shell

vi magent.sh

#!/bin/bash
K=`ip addr | grep 192.168.27.111 | grep -v grep | wc -l`
if [ $K -gt 0 ]; then
        magent -u root -n 51200 -l 192.168.27.11 -p 12000 -s 192.168.27.160:11211 -b 192.168.27.163:11211
else
pkill -9 magent
fi  

chmod +x magent.sh #賦予執行權限

systemctl start keepalived.service #開啓服務

4、啓動memcached服務

memcached -m 512k -u root -d -l 192.168.27.160 -p 11211 #啓動主

memcached -m 512k -u root -d -l 192.168.27.163 -p 11211 #啓動從

5、驗證

  • 1)、在客戶機上登錄並插入內容,在兩臺主從服務器上都可查看到內容;

Memcached羣集Memcached羣集Memcached羣集

  • 2)、將主服務器關掉,在客服機上插入新的內容,從服務器上仍能查看到內容;

Memcached羣集Memcached羣集

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章