Memcached(主主复制与keepalive高可用)

news/2025/2/21 16:40:43/

案例环境

cache1:192.168.180.144

cache2:192.168.180.145

cache-api:192.168.180.143

案例过程

前置准备

关闭所有设备防火墙

systemctl stop firewalld && setenforce 0
更改主机名
hostnamectl set-hostname cache1 && bashhostnamectl set-hostname cache2 && bashhostnamectl set-hostname cache-api && bash

配置环境 

配置主主复制

配置cache-api

提前部署好LAMP环境!!!!

下载编译安装工具包
yum -y install gcc gcc-c++
解压包
tar zxf libmemcached-1.0.18.tar.gztar zxf memcached-2.2.0.tgz
启动php
/usr/local/php5/bin/phpizecp -r /usr/local/php5/include/php/ext/ ./

配置编译安装
#配置编译安装libmemcached
cd libmemcached-1.0.18
./configure --prefix=/usr/local/libmemcached --with-memcached=/usr/local/memcached && make && make install#配置编译安装memcached
cd memcached-2.2.0
./configure --enable-memcached --with-php-config=/usr/local/php5/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl && make && make test && make install

 配置php添加memcached组件
vim /usr/local/php5/php.ini#输入刚刚获得的共享地址extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-zts-20121212/"extension=memcached.so

访问并查看是否添加成功
#创建php页面检查
vim /usr/local/httpd/htdocs/index.php<?phpphpinfo();?>
启动http服务并访问
systemctl start httpd#访问服务器IP/index.php
192.168.180.143/index.php

测试memcached-api功能

#访问为空请等待!!可继续做,最后查看连接情况!!

#编写memcached检查测试页面
vim /usr/local/httpd/htdocs/test02.php<?php$memcache = new Memcached();$memcache->addServer('192.168.180.110', 11211);$memcache->set('key', 'Memcache test successful!', 0, 60);$result = $memcache->get('key');unset($memcache);echo $result;?>
重启httpd
​#重启服务
systemctl restart httpd#测试访问
192.168.180.143/test02.php

 配置cache1,2
解压压缩文件
下载安装组件与前置包
yum install -y gcc gcc-c++ psmisc
解压压缩源文件
tar zxf libevent-2.1.8-stable.tar.gz -C /usr/src/tar zxf memcached-1.2.8-repcached-2.2.tar.gz
配置编译安装
#配置编译安装libevent
cd /usr/src/libevent-2.1.8-stable/
./configure --prefix=/usr/local/libevent && make && make install#配置memcached
cd memcached-1.2.8-repcached-2.2
./configure --prefix=/usr/local/memcached_replication --enable-replication --with-libevent=/usr/local/libevent
修改配置文件
vim memcached-1.2.8-repcached-2.2/memcached.c#删除多余命令
#ifndef IOV_MAX
# define IOV_MAX 1024
#endif

编译安装memcached
cd memcached-1.2.8-repcached-2.2
make && make install
创建链接文件
ln -s /usr/local/libevent/lib/libevent-2.1.so.6 /usr/lib64/
连接并启动服务
#cache1:
/usr/local/memcached_replication/bin/memcached -d -u root -m 128 -x 192.168.180.145#cache2:
/usr/local/memcached_replication/bin/memcached -d -u root -m 128 -x 192.168.180.144
查看启动情况
netstat -nultp | grep memcache

下载telnet测试

yum -y install telnet
#cache1:telnet 192.168,180,145 11211
set username 0 0 8
20250218
get username

#cache2:telnet 192.168,180,144 11211
get username

配置Memcached+Keepalived

cache1,2
下载keepalived
yum install -y keepalived
cache1修改主配置文件
vim /etc/keepalived/keepalived.conf#建议将源文件内容全部删除直接复制后在做修改!! Configuration File for keepalived
global_defs {router_id route
}vrrp_instance VI_1 {
#设备类型state MASTER
#网卡名称interface ens33virtual_router_id 51
#优先级priority 100advert_int 1
#不主动抢占资源,在高优先级服务器上设置nopreemptauthentication {auth_type PASSauth_pass 1111}virtual_ipaddress {
#虚拟IP地址192.168.180.200}
}#虚拟IP地址与端口号
virtual_server 192.168.180.200 11211
delay_loop 6
lb_algo rr
lb_kind NAT
persistence_timeout 20
protocol TCP
#两主对端服务器IP
sorry_server 192.168.180.145 11211
#两主本服务器IP
real_server 192.168.180.144 11211 {
weight 3
notify_down /root/memcached.sh
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 11211
}
}
}

在cache2复制cache1的主配置文件进行修改

scp 192.168.180.144:/etc/keepalived/keepalived.conf /etc/keepalived/

配置报错停止文件
#编写停止脚本
echo "/usr/bin/systemctl stop keepalived" > /root/memcached.sh#赋予执行权限
chmod +x /root/memcached.sh
启动服务
systemctl start keepalived
查看VIP启动情况
ip address show dev ens33 | grep 192.168.180.200


http://www.ppmy.cn/news/1573557.html

相关文章

MSI微星电脑冲锋坦克Pro Vector GP76 12UGS(MS-17K4)原厂Win11系统恢复镜像,含还原功能,预装OEM系统下载

适用机型&#xff1a;【MS-17K4】 链接&#xff1a;https://pan.baidu.com/s/1P8ZgXc6S_J9DI8RToRd0dQ?pwdqrf1 提取码&#xff1a;qrf1 微星笔记本原装出厂WINDOWS11系统自带所有驱动、出厂主题壁纸、系统属性专属联机支持标志、Office办公软件、MSI Center控制中心等预装…

走进量化投资【前章】

量化投资简介 广义上&#xff0c;我们可以认为凡是借助于数学模型和计算机实现的投资都称之为量化投资——目前&#xff0c;国内比较常见的量化投资策略有alpha策略&#xff08;IQC用的就是这个了&#xff09;、期货CTA策略、套利策略和高频交易策略 在日常生活中&#xff0c;…

IDEA CodeGPT 使用教程

IDEA CodeGPT 使用教程 CodeGPT 是一个 IntelliJ IDEA 插件&#xff0c;可以利用 OpenAI&#xff08;或自建 AI 模型&#xff09;来帮助开发者完成代码编写、优化、调试、解释错误等任务。以下是详细的安装与配置教程。 1. 安装 CodeGPT 插件 方式 1&#xff1a;从插件市场安…

【Excel笔记_6】条件格式和自定义格式设置表中数值超过100保留1位,超过1000保留0位,低于100为默认

方法一&#xff1a;自定义格式 选中需要设置格式的单元格区域。右键选择设置单元格格式&#xff0c;或者在工具栏中选择开始 -> 数字 -> 自定义格式。在类型框中输入以下自定义格式&#xff1a; [>1000]0;[>100]0.0;G/通用格式解释&#xff1a; [>1000]0&…

迅为RK3568开发板篇Openharmony配置HDF控制UART-UART 接口运作机制

在 HDF 框架中&#xff0c;串口接口适配模式采用独立服务模式&#xff0c;如下图所示&#xff1a; 如上图所示&#xff0c;每个设备对象会独立发布一个设备服务来处理外部访问&#xff0c;设备管理器接收到API 的访问请求之后&#xff0c;通过提取该请求的参数&#xff0c;达…

【虚拟仪器技术】第二章 虚拟仪器及其构成原理,体系结构,系统定义,系统集成

关注作者了解更多 我的其他CSDN专栏 毕业设计 求职面试 大学英语 过程控制系统 工程测试技术 虚拟仪器技术 可编程控制器 工业现场总线 数字图像处理 智能控制 传感器技术 嵌入式系统 复变函数与积分变换 单片机原理 线性代数 大学物理 热工与工程流体力学 …

4 - 连接篇

文章目录 一、extern、static二、形参、实参、返回值 一、extern、static 二、形参、实参、返回值 一个有趣的示例&#xff0c;实际结果有可能和你想的不同 #include <stdio.h>int main() {char p;int i;char c;printf("p:%p, i:%p, c:%p\n", &p, &…

三天速通C语言基础知识——(考研数据结构)

指针 指针&#xff1a;通俗的讲&#xff0c;指针就是地址。然而&#xff0c;我们通常口头语所说的指针其实是指针变量&#xff0c;也就是保存指针的变量。 Tips: 1、指针变量保存的是地址。在32位的系统中&#xff0c;指针变量大小是4字节&#xff0c;在64位系统中&#xff0…