Memcached群集

网友投稿 256 2022-10-14

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 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)、将主服务器关掉,在客服机上插入新的内容,从服务器上仍能查看到内容;

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot中WEB的启动流程分析
下一篇:大话企业上云之第四篇
相关文章

 发表评论

暂时没有评论,来抢沙发吧~