Memcached+magent实现主从同步 +keepalived高可用群集
发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,Memcached+magent实现主从同步 +keepalived高可用群集简介Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和
千家信息网最后更新 2024年11月26日Memcached+magent实现主从同步 +keepalived高可用群集
Memcached+magent实现主从同步 +keepalived高可用群集
简介
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
实验部署
主机名称 | IP地址 | 主要服务软件 |
---|---|---|
memcached主服务器 | 172.16.10.138 | memcached,libevent,magent,keepalived |
memcached从服务器 | 172.16.10.137 | memcached,libevent,keepalived |
客户端 | 172.16.10.134 | telnet测试 |
- 配置memcached主缓存节点服务器
tar xf libevent-2.1.8-stable.tar.gz -C /opttar xf memcached-1.5.6.tar.gz -C /opttar xf magent-0.5.tar.gz -C /optcd /opt/libevent-2.1.8./configure --prefix=/usr #指定安装路径make && make install #编译安装cd /opt/memcached-1.5.6./configure --with-libevent=/usr #指定安装路径make && make install #编译安装ln -s /usr/lib/libevent-2.1.so.6 /usr/lib64/libevent-2.1.so.6 #主服务器上magent服务需要这个模块
cd /opt/magent
vim ketama.h #ifndef SSIZE_MAX #修改#define SSIZE_MAX 32767 #修改 #endifvim MakefileLIBS = -levent -lm #修改,添加-lm make
cp mgent /usr/bin #把生成的mgent程序让系统识别
- 配置memcached从缓存节点服务器
tar xzvf memcached-1.5.6.tar.gz -C /opttar xzvf libevent-2.1.8-stable.tar.gz -C /optcd /opt/libevent-2.1.8./configure --prefix=/usrmake && make installcd /opt/memcached-1.5.6./configure --with-libevent=/usrmake && make i nstallln -s /usr/lib/libevent-2.1.so.6 /usr/lib64/libevent-2.1.so.6 #主服务器上magent服务需要这个模块
- 主服务器将magent文件复制到从服务器
yum install openssh-clients
scp magent root@172.16.10.137:/usr/bin/ //把产生的magent文件直接复制到从服务器。
- 主服务器安装keepalived服务,修改配置文件
yum -y install keepalived
vim /etc/keepalived/keepalived.conf
router_id MAGENT_HA #router_id主从不能相同,要修改vrrp_script magent { script "/opt/shell/magent.sh" interval 2 } #定义一个新函数,每2s自动执行这个脚本 vrrp_instance VI_1 {state MASTER #这边是主服务器,从服务器是BACKUP interface ens33 #网卡接口是ens33 virtual_router_id 51 priority 100 #优先级,从服务器小于主服务器 advert_int 1authentication { auth_type PASS auth_pass 1111 }track_script { magent #触发执行magent脚本 }virtual_ipaddress { 172.16.10.200 #虚拟IP(vip) } }将下面多余的配置全部删除
- 主服务器安装keepalived服务,修改配置文件
yum -y install keepalived
vim /etc/keepalived/keepalived.conf
router_id MAGENT_HB #router_id主从不相同 vrrp_script magent { script "/opt/shell/magent.sh" interval 2 } #定义一个新函数,每2s自动执行这个脚本 vrrp_instance VI_1 {state MASTER #这边是从服务器,是BACKUP interface ens33 #网卡接口是ens33virtual_router_id 51 priority 90 #优先级,从服务器小于主服务器 advert_int 1authentication {auth_type PASSauth_pass 1111 }track_script { magent #触发执行magent脚本 }virtual_ipaddress { 172.16.10.200 #虚拟IP(vip) } } 将下面多余的配置全部删除
- 主服务器编写magnet脚本
mkdir /opt/shell
vim /opt/shell/magent.sh #!/bin/bash K=`ps -ef | grep keepalived | grep -v grep | wc -l` if [ $K -gt 0 ]; then magent -u root -n 51200 -l 192.168.58.100 -p 12000 -s 192.168.58.135:11211 -b 192.168.58.132:11211 else pkill -9 magent fi -n 51200 #定义用户最大连接数 -l 192.168.58.100 #指定虚拟IP -p 12000 #指定端口号 -s #指定主缓存服务器 -b #指定从缓存服务器 #这个脚本意思就是一旦检测到系统进程中有keepalived进程,就执行magent这条命令,如果没有,则将magent进程杀死。总得来说就是,主服务器上没有keepslived进程,magent就会和从服务器连接。 chmod +x /opt/shell/magent.sh #给脚本添加执行权限
- 从服务器编写magent脚本
mkdir -p /opt/shell
vim /opt/shell/magent.sh#!/bin/bashK=`ip addr | grep 192.168.58.100 | grep -v grep | wc -l`if [ $K -gt 0 ]; thenmagent -u root -n 51200 -l 192.168.58.100 -p 12000 -s 192.168.58.135:11211 -b 192.168.58.132:11211elsepkill -9 magentfi #从服务器的脚本意思就是检测到虚拟ip漂移是否到自己身上,如果VIP进行漂移到从服务器之后,就会执行magent这条命令,目的就是在主服务器宕掉的时候,从服务器能够正常启动。
- 实验验证
首先使用客户机安装telnet,远程连接VIP节点,写入用户之后,主从缓存服务器会自动获取下载该用户。
服务
服务器
脚本
缓存
进程
配置
就是
数据
文件
主从
客户
数据库
用户
系统
节点
相同
优先级
内存
函数
动态
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
天津5g服务器机柜厂家
绿园区新时代网络安全常见问题
服务器进pe能看到硬盘数据吗
周村染色软件开发
服务器管理措施方案
做一个电影需要什么服务器
php服务器配置找不到控制器
网络安全行业吃香吗
贯彻网络安全执法检查工作
唐山软件开发招聘信息
cnki数据库
网络安全未遂事故案例100例
数据库处理工具有哪些问题
常用的关系型数据库ldap
水果店商品销售数据库
贵州应用软件开发中心
山姆超市的数据库营销
工行软件开发中心校招面试题
缩小数据库
上海苏宁软件开发工资
绿园区新时代网络安全常见问题
orical 数据库安装
川报锋趣网络技术
迷你数据库下载链接
属于网络安全机构的有
唐山盘古网络技术有限公司
macos服务器哪里买
软件如何连接数据库
停车场的数据库怎么写
网络安全与java开发