centos7.4搭建Memcached(2)

网友投稿 276 2022-11-12

centos7.4搭建Memcached(2)

单台memcached服务的安装和测试很简单,考虑到老生常谈的单点故障问题,可以使用magent和keepalived加以解决magent:把一台memcached服务端的数据实时备份到另一台,互备keepalived:一台服务器down,通过VIP调度到另一台up的服务器,实现高可用

本例:主memcached服务器1 192.168.80.80 从memcached服务器2 192.168.80.81主从都要安装:memcached-1.5.6.tar.gz libevent-2.1.8-stable.tar.gz magent-0.5.tar.gz测试机 192.168.80.82

主memcached服务器1 192.168.80.80 配置:

1.首先安装libevent:tar xf libevent-2.1.8-stable.tar.gz -C /opt/cd /opt/libevent-2.1.8-stable./configure --prefix=/usr/make && make install

2.然后安装memcached:tar xf memcached-1.5.6.tar.gz -C /opt/cd /opt/memcached-1.5.6./configure \--with-libevent=/usrmake && make install

3.最后安装magent:mkdir /opt/magenttar xf magent-0.5.tar.gz -C /opt/magentcd /opt/magentvi ketama.h //在文件开头处新增

#ifndef SSIZE_MAX#define SSIZE_MAX 32767#endif……

vi MakefileLIBS = -levent -lm //第一行末尾加-lm (不是数字1)

make //修改完成后可以编译了

ls //会产生magent可执行程序

cp magent /usr/bin/ //将编译好的magent程序复制到PATH路径中

ln -s /usr/lib/libevent-1.4.so.2.1.2 /usr/lib64/libevent-1.4.so.2 //不可缺少

yum install openssh-clients

scp magent root@192.168.80.82:/usr/bin/ //把产生的magent文件直接复制到从服务器。

4.安装keepalived

yum install keepalived -y

vi /etc/keepalived/keepalived.conf //原来的全部删除,添加以下

! Configuration File for keepalived

global_defs {router_id MAGENT_HA //主调度器名}vrrp_script magent {script "/opt/shell/magent.sh" //主magent脚本interval 2}vrrp_instance VI_1 {state MASTER //主状态interface ens33virtual_router_id 51priority 99 //主优先级advert_int 1authentication {auth_type PASSauth_pass 1111}track_script {magent //跟踪magent脚本}virtual_ipaddress {192.168.80.188 //虚拟ip VIP}}

scp keepalived.conf root@192.168.80.82:/etc/keepalived/keepalived.conf ./ //把主服务器的配置文件复制到从,并相应修改

5.制作主跟踪脚本mkdir /opt/shellcd /opt/shell

vi magent.sh

#!/bin/bashK=ps -ef | grep keepalived | grep -v grep | wc -lif [ $K -gt 0 ]; thenmagent -u root -n 51200 -l 192.168.80.188 -p 12000 -s 192.168.80.81:11211 -b 192.168.80.82:11211elsepkill -9 magentfi

-n 51200 //定义用户最大连接数-l 192.168.80.188 //指定虚拟IP-p 12000 //指定端口号-s //指定主缓存服务器-b //指定从缓存服务器

chmod +x magent.sh

service keepalived start netstat -anpt | grep 12000 //确认magent运行cat /var/log/messages //验证主从

……Transition to MASTER STATE……

ip addr //确认漂移地址生效

6.memcached -m 512k -u root -d -l 192.168.80.80 -p 11211 //启动主netstat -anptu | grep 11211

从memcached服务器2 192.168.80.81 配置:

1.首先安装libevent:tar xf libevent-2.1.8-stable.tar.gz -C /opt/cd /opt/libevent-2.1.8-stable./configure --prefix=/usr/make && make install

2.然后安装memcached:tar xf memcached-1.5.6.tar.gz -C /opt/cd /opt/memcached-1.5.6./configure \--with-libevent=/usrmake && make install

ln -s /usr/lib/libevent-1.4.so.2.1.2 /usr/lib64/libevent-1.4.so.2 //不可缺少

3.先安装keepalivedyum install keepalived -y后修改主传过来的配置文件vi /etc/keepalived/keepalived.confrouter_id MAGENT_HB //修改调度器名

state BACKUP //修改状态

priority 90 //修改优先级

4.制作从跟踪脚本mkdir /opt/shellcd /opt/shell

vi magent.sh

#!/bin/bash#!/bin/bashK=ip addr | grep 192.168.80.188 | grep -v grep | wc -lif [ $K -gt 0 ]; thenmagent -u root -n 51200 -l 192.168.80.188 -p 12000 -s 192.168.80.80:11211 -b 192.168.80.81:11211elsepkill -9 magentfi

chmod +x magent.sh

service keepalived startcat /var/log/messages //验证主从

……Entering BACKUP STATE……

5.memcached -m 512k -u root -d -l 192.168.80.81 -p 11211 //启动从netstat -anptu | grep 11211

下面进行测试:

1.在客户端80.82上,首先测试magent是否备份:telnet 192.168.80.188 12000 //连接VIP漂移地址,新建数据

set key 33 0 4aaaaSTOREDquit

telnet 192.168.80.188 12000 //连接VIP漂移地址,查看数据get keyVALUE key 33 4aaaaEND

telnet 192.168.80.81 11211 //连接到主memcached上,查看数据,应该会有新建的数据get keyVALUE key 33 4aaaaEND

telnet 192.168.80.83 11211 //连接到从memcached上,查看数据,应该会有新建的数据get keyVALUE key 33 4aaaaEND

2.测试keepalived主80.81 service keepalived stop,通过ip addr查看80.188应该漂移到从80.82上且telnet 192.168.80.188 12000 //连接VIP漂移地址,还能查看数据,说明业务切换到从上,实现了memecached业务不中断

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

上一篇:小米降噪耳机Type-C版评测 外观听感兼优兼容问题遗憾
下一篇:关于@Scheduled参数及cron表达式解释
相关文章

 发表评论

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