千家信息网

Memcached高可用集群——keepalived

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,内容要点一、magent介绍:二、架构部署:一、magent介绍:magent是一款开源的代理服务软件,我们可以通过它来实现缓存数据的同步,当然这里说的同步不是说memcached之间就能互相通讯了,
千家信息网最后更新 2025年12月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安全错误 数据库的锁怎样保障安全 杨浦区常规网络技术服务售后服务 数据库导入文本实训收获 取款密码是网络技术 金融科技互联网金融区别 如何用数据库进行世界史研究 网络安全术语拒绝服务是 时间确定性网络技术定义 软件开发面试笔试题 重庆pdu服务器专用电源价格 c# 将图片传到数据库 win服务器防护软件 软件开发部门描述 战地1被踢出服务器了还能进吗 至强第三代刀片服务器算力是多少 安徽服务器虚拟化定制虚拟主机 全国网络安全工作 关于网络安全有什么建议 广州百城互联网科技有限公司 vb数据库库存预警 勒索蠕虫 网络安全设备 关系型数据库的一行叫什么 dell服务器关闭安全模式 浪潮机架式服务器维修站 无限软件开发维修电话 高校机房服务器管理制度 搭路服务器介绍 外国服务器哪个好 国家网络安全宣传周隆尧活动 w网络安全产品有哪些 厦门五更网络技术有限公司怎么样
0