Memcached群集
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)、在客户机上登录并插入内容,在两台主从服务器上都可查看到内容;
- 2)、将主服务器关掉,在客服机上插入新的内容,从服务器上仍能查看到内容;
以上是关于Memcached群集的主要内容,如果未能解决你的问题,请参考以下文章
Magent+keepalived+Memcached缓存高可用群集