千家信息网

Memcached高可用集群——keepalived

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,内容要点一、magent介绍:二、架构部署:一、magent介绍:magent是一款开源的代理服务软件,我们可以通过它来实现缓存数据的同步,当然这里说的同步不是说memcached之间就能互相通讯了,
千家信息网最后更新 2026年11月02日Memcached高可用集群——keepalived

内容要点

一、magent介绍:

二、架构部署:

一、magent介绍:


magent是一款开源的代理服务软件,我们可以通过它来实现缓存数据的同步,当然这里说的同步不是说memcached之间就能互相通讯了, 而magent可以同时连接多个memcached节点, 通过magent绑定的VIP从客户端登录memcached写入数据,其他节点的memcached数据也会同步。


二、架构部署:


环境说明:


角色需要安装的软件包
memcached主(IP地址:192.168.220.137)magent 、memcached 、libevent 、keeplived
memcached从(IP地址:192.168.220.135)memcached 、 libevent 、keeplived
客户端(IP地址:192.168.220.131)telnet 测试工具
虚拟ip(192.168.220.100)


第一步:配置 memcache 主缓存节点和从缓存节点(两台服务器配置相同)

1、安装依赖包:

yum install gcc gcc-c++ make -y


2、解压软件包:


1、tar zxvf memcached-1.5.6.tar.gz -C /opt/2、tar zxvf libevent-2.1.8-stable.tar.gz -C /opt/3、mkdir /opt/magenttar zxvf magent-0.5.tar.gz -C /opt/magent/


3、编译和安装:


1、cd /opt/libevent-2.1.8-stable./configure --prefix=/usr/make && make install2、cd /opt/memcached-1.5.6./configure \--with-libevent=/usrmake && make install


4、创建软连接:

ln -s /usr/lib/libevent-2.1.so.6 /usr/lib64/libevent-2.1.so.6


第二步:部署主服务器 ----- 安装 magent代理,从服务器不需要

1、cd /opt/magentvim ketama.h在开头处增减以下代码:#ifndef SSIZE_MAX#define SSIZE_MAX 32767#endif


vim MakefileLIBS = -levent -lm   //加上 -lm


2、修改完成后 make 编译


3、此时,make完成后,就会产生 magent可执行程序

4、将这个 magent 程序复制到path环境变量中

cp magent /usr/bin/


5、可以将安装好的 magent 复制到从服务器,这样从服务器就不需要再配置了


yum install openssh-clients -y   //安装工具包scp magent root@192.168.220.135:/usr/bin/


第三步:在主从服务器上都安装 keepalived,并部署

(1)主服务器:

yum install keepalived -y    //安装keepalived


修改配置文件:


vim /etc/keepalived/keepalived.conf//定义一个函数,建议写在最前面vrrp_script magent {        script "/opt/shell/magent.sh"        interval 2      }      做如下修改:router_id MAGENT_HA        //修改id名interface ens33            //修改网卡信息virtual_ipaddress {        192.168.220.100     //定义好虚拟ip地址    }       vrrp_instance VI_1 {.....//调用函数.以下三行代码写在vrrp模块内track_script {        magent      }.....


(2)从服务器:


vim /etc/keepalived/keepalived.conf做如下修改:router_id MAGENT_HB         //id名和第一台要不一样state BACKUP               //从服务器virtual_router_id 52       //id号和第一台不一样priority 90                 //优先级低与主服务器


第四步:配置主、从服务器脚本

(1)创建一个脚本:

mkdir /opt/shell


(2)编写:


vim magent.sh#!/bin/bashK=`ps -ef | grep keepalived | grep -v grep | wc -l`if [ $K -gt 0 ]; then    magent -u root -n 51200 -l 192.168.220.100 -p 12000 -s 192.168.220.137:11211 -b 192.168.220.135:11211elsepkill -9 magentfi//-n 51200             //定义用户最大连接数-l 192.168.220.100   //指定虚拟IP-p 12000             //指定端口号-s                   //指定主缓存服务器-b                   //指定从缓存服务器

(3)给脚本添加一个执行权限:

chmod +x magent.sh


systemctl stop firewalld.service   //必须关闭否则magent不启动setenforce 0


(4)开启 keepalived 服务


systemctl start keepalived.servicenetstat -anpt | grep 12000 //确认magent运行,端口正常运行

(5)验证主从 :


1、主服务器 ----- 查看 /var/log/messages 文件,找到关键词:Transition to MASTER STATE

2、从服务器 ----- 找到关键词:Entering BACKUP STATE

(6) ip addr 命令 ----- 确定漂移地址生效:


第五步:启动主 、从服务器

(1)启动主服务器:

memcached -m 512k -u root -d -l 192.168.220.137 -p 11211


(2)启动从服务器:

memcached -m 512k -u root -d -l 192.168.220.135 -p 11211


(3)查看端口是否正常开启:

netstat -anptu | grep 11211

第六步:客户机测试


1、先安装 Telnet 工具:

yum install telnet -y


2、测试:


使用漂移地址登录连接:

telnet 192.168.220.100 12000



在客户机上操作,写入一个数据,同时观察主、从服务器上是否会同步生成:



(1)主服务器:



(2)从服务器:



3、双机热备:


(1)停掉主服务器:

systemctl stop keepalived.service


(2)客户机依旧可以连接:


服务 服务器 地址 客户 缓存 配置 数据 节点 工具 脚本 软件 测试 主从 代码 关键 关键词 函数 同时 客户机 客户端 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网与科技发展 互联网科技开发公司 期待互联网科技 互联网金融科技平台 菲比寻常互联网科技 苏州大垚互联网科技 四个字互联网科技公司取名 互联网公司会议桌创意科技软装饰 海南科技产业互联网平台 互联网科技公司需要的职位 银川新华互联网科技职业技术培训学校图片 崇明区互联网教育科技售后服务 新兴科技互联网创新大赛颁奖典礼 互联网科技扶贫时间 互联网科技人工智能实验室 上海京穆互联网科技有限公司 21世纪互联网科技成就 上海同邻互联网科技有限公司规模 互联网科技手机排行榜 恒生互联网科技趋势 华服互联网科技怎么样 有马互联网科技 国外互联网科技网站 济南和联互联网科技有限公司 博兴的互联网电子科技公司 晓花互联网科技有限公司网址 互联网科技圈年度人物 新氧科技和美国互联网有关系吗 青岛互联网科技园 中国主要互联网科技公司
0