CentOS 7上Memcached的安装、配置及高可用架构搭建

Memcached是一款高性能的分布式内存缓存系统,常用于加速动态Web应用的响应。本文将在CentOS 7上详细介绍Memcached的安装、配置,以及如何实现Memcached的高可用架构。


(1)、搭建memcached 主主复制架构

Memcached 的复制功能支持多个 Memcached 之间相互复制(双向复制,主备都是可读可写的),可以解决 Memcached 的容灾问题。

memcached 本身不支持相互复制,需要卸载rpm 安装的memcached ,换带有支持复制功能的

memcached;

yum -y remove memcached

(2)、环境准备

假设有两台服务器用于 Memcached 主主复制,分别为 Server A(10.1.1.7)和 ServerB(10.1.1.12)。确保两台服务器都运行 CentOS 7 系统,并且网络可以正常通信。

(3)、安装依赖

在两台服务器上都执行以下命令安装编译所需的依赖:

yum install -y gcc make libevent-devel

(4)、下载并安装支持复制的 Memcached(repcached)

repcached 是实现 Memcached 复制功能的扩展,以下是安装步骤:

  1. 下载 repcached

如果上述链接不可用,你可以在 SourceForge 等网站上查找合适的版本。

wget http://downloads.sourceforge.net/repcached/memcached-1.2.8-repcached-2.2.tar.gz

  1. 解压文件

tar -xzvf memcached-1.2.8-repcached-2.2.tar.gz

cd memcached-1.2.8-repcached-2.2

  1. 配置编译选项

./configure --prefix=/usr/local/memcached --enable-replication --with- libevent=/usr/lib6/

  1. 编译并安装

make

make install

编译过程中报错处理:

修改完文件,执行如下命令:

vi memcached.c //改成如下样子,删了两行内容

55 /* FreeBSD 4.x doesn't have IOV_MAX exposed. */

56 #ifndef IOV_MAX

57 # define IOV_MAX 1024

58 #endif

vim replication.c //修改添加一行

make clean

make &&make install

(5)、配置主主复制

  1. 启动 Server A 的 Memcached

useradd memcached

cd /usr/local/memcached/bin

./memcached -d -u memcached -m 64 -l 10.1.1.7 -p 11211 -x 10.1.1.22

参数说明:

-d :以守护进程模式运行。

-u root :以 root 用户身份运行。

-m 64 :分配 64MB 内存给 Memcached。

-l 192.168.1.10 :监听的 IP 地址。

-p 11211 :监听的端口。

-x 192.168.1.11 :指定要同步数据的对端服务器 IP。

  1. 启动 Server B 的 Memcached

参数含义与 Server A 类似,只是监听 IP 和同步对端 IP 相反。

cd /usr/local/memcached/bin

./memcached -d -u memcached -m 64 -l 10.1.1.22 -p 11211 -x 10.1.1.7

(6)验证主主复制

  1. 在 Server A 插入数据
  1. 在 Server B 验证数据

如果能获取到在 Server A 上插入的数据,说明主主复制配置成功。同理,在 Server B 上插入数据,也应该能在 Server A 上获取到。

搭建memcached 主主复制+keepalived 高可用

  1. 在两个节点上都安装keepalived

yum -y install keepalived ipvsadm

  1. 在10.1.1.7 上的配置

Vi /etc/keepalived/keepalived.conf

vrrp_script chk_memcached {

script "/usr/bin/pgrep memcached"

interval 2

weight -20

}

vrrp_instance VI_1 {

state MASTER

interface ens33

virtual_router_id 51

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 123456

}

virtual_ipaddress {

10.x.x.x

}

track_script {

chk_memcached

}

}

root@gyh keepalived#

在10.1.1.22上,仅修改state和priority

state BACKUP

priority 90

  1. 启动keepalived

systemctl start keepalived

systemctl enable keepalived

(4) 测试故障切换

手动停止memcached: 在 10.1.1.7(master)

pkill -9 memcached

观察vip 飘逸

ip addr show ens33

相关推荐
ST——Jess3 分钟前
年度行业趋势研究报告:泛心理数字化赛道“流日推演”的算法困境与高保真交互范式重构
人工智能·算法·架构
馒头吃馒头19 分钟前
技术解析|DeepSeek MoE混合专家架构:参数效率三倍提升方案
架构
zizle_lin1 小时前
CentOS配置yum源
linux·运维·centos
ST——Jess2 小时前
2026年度传统文化数字化与命理科技(Ethno-tech)行业趋势研究报告:专业级数智工作台的技术壁垒与评测标准
人工智能·科技·算法·架构
小马爱打代码2 小时前
TiDB 架构解析
架构
2601_956414143 小时前
2026多账号防关联底层逻辑重构:主流指纹浏览器技术架构与高并发横测
重构·架构
ai产品老杨3 小时前
【架构实战】如何基于 Docker 与边缘计算构建企业级 AI 视频管理平台?打通 GB28181/RTSP 统一接入与异构算力调度,全量源码交付破解集成痛点
人工智能·docker·架构
意图共鸣3 小时前
意图共鸣科技《认知智能白皮书》——认知操作系统(COS):大模型之上的“认知中间件”如何调度边界
人工智能·科技·架构
段一凡-华北理工大学3 小时前
工业领域的Hadoop架构学习~系列文章02:HDFS架构深度剖析
大数据·人工智能·hadoop·学习·架构·高炉炼铁