文章目录
前言
一:环境介绍
1.1:环境
- VMware软件
- 一台centos7虚拟机作为memcache主服务器,IP地址:192.168.79.133
- 一台centos7虚拟机作为memcache从服务器,IP地址:192.168.79.134
- 一台centos7虚拟机作为memcache客户端,IP地址:192.168.79.135
- 漂移IP地址:192.168.79.100,是客户端登陆的IP地址
1.2:试验目的
- 通过搭建memcache高可用群集,实现主从同步,群集高可用功能
1.3:magent概述
- Magent是一款开源的Memcached代理服务器软件,采用的是:Consistent Hashing原理,可以通过它来实现缓存数据的同步
二:memcache主从服务器搭建
- 主服务器需要安装:memcached,libevent,keepalived,magent
- 从服务器需要安装:memcached,libevent,keepalived
2.1:主从服务器搭建memcached
-
以下的步骤主从服务器都需要操作,再次仅展示主服务器的操作
-
'//解压源码包' [root@master ~]# mount.cifs //192.168.23.1/ccc /mnt Password for root@//192.168.23.1/ccc: [root@master ~]# cd /mnt/memcache/ [root@master memcache]# tar zxvf libevent-2.1.8-stable.tar.gz -C /opt [root@master memcache]# tar zxvf memcached-1.5.6.tar.gz -C /opt [root@master memcache]# mkdir /opt/magent '//此步骤从服务器不需要操作' [root@master memcache]# tar zxvf magent-0.5.tar.gz -C /opt/magent/ '//此步骤从服务器不需要操作' '//编译安装libevent和memcached' [root@master memcache]# yum install gcc gcc-c++ make -y [root@master memcache]# cd /opt/libevent-2.1.8-stable/ [root@master libevent-2.1.8-stable]# ./configure --prefix=/usr '//路径不在/usr的话,后面magent在make的时候会报错:magent.c:64:19: 致命错误:event.h:没有那个文件或目录' [root@master libevent-2.1.8-stable]# make && make install [root@master libevent-2.1.8-stable]# cd /opt/memcached-1.5.6/ [root@master memcached-1.5.6]# ./configure \ > --prefix=/usr/local/memcached \ > --with-libevent=/usr/local/libevent [root@master memcached-1.5.6]# make && make install '//关闭防火墙' [root@master memcached-1.5.6]# systemctl stop firewalld.service [root@master memcached-1.5.6]# setenforce 0
2.2:主服务器上安装magent代理
-
在主服务器上安装magent,从服务器不需要安装
-
[root@master memcached-1.5.6]# cd /opt/magent/ [root@master magent]# ls ketama.c ketama.h magent.c Makefile [root@master magent]# vim ketama.h '//修改magent配置文件'