Memcached群集

实验环境

实验过程

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 root@192.168.27.161:/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)、在客户机上登录并插入内容,在两台主从服务器上都可查看到内容;

2)、将主服务器关掉,在客服机上插入新的内容,从服务器上仍能查看到内容;

标签:Memcache 发布于:2019-10-21 03:35:14