实验报告

第一、实验环境:

第二、实验步骤:
配置memcached主缓存节点和从缓存节点-----两台配置相同
解包:
tar xf memcached-1.5.6.tar.gz -C /opt/
tar xf libevent-2.1.8-stable.tar.gz -C /opt/

cd /opt/libevent-2.1.8-stable --- 安装lib插件
./configure --prefix=/usr/

make && make install ---编译安装

cd ../memcached-1.5.6 ---安装memcached

./configure \
--with-libevent=/usr

make && make install ---编译安装

下面在主上安装magent:
mkdir /opt/magent
tar xf magent-0.5.tar.gz -C /opt/magent
cd /opt/magent/
vi ketama.h

vi Makefile
LIBS = -levent -lm //第一行末尾加-lm (不是数字1)

make //修改完成后可以编译了

完成,无任何报错

ls一下可看到magent可执行程序

cp magent /usr/bin/ //将编译好的magent程序复制到PATH路径中

scp magent root@192.168.80.182:/usr/bin/ //把产生的magent文件直接复制到从服务器。

下面安装keepalived:
yum install keepalived –y
vi /etc/keepalived/keepalived.conf //修改默认配置文件
-------------------参考脚本------------
! Configuration File for keepalivedglobal_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 192.168.200.1smtp_connect_timeout 30router_id MAGENT_HB
}
vrrp_script magent {script "/opt/shell/magent.sh"interval 2
}
vrrp_instance VI_1 {state BACKUPinterface ens33virtual_router_id 51priority 99advert_int 1authentication {auth_type PASSauth_pass 1111}
track_script {magent
}virtual_ipaddress {192.168.80.188}
}

从服务器上安装keepalived,拷贝上面的配置文件进行修改:
yum install -y keepalived
cd /etc/keepalived/
mv keepalived.conf keepalived.conf.bak
scp root@192.168.80.181:/etc/keepalived/keepalived.conf ./ //把主服务器的配置文件复制过来
vi keepalived.conf
从服务器的名称要修改;router_id MAGENT_HB
从服务器的热备状态要修改成BACKUP;state BACKUP
从调度器的优先级要小于主的;priority 90下面设置magent管理脚本
--在主服务器上设置:
mkdir /opt/shell  创建目录
cd /opt/shellvi magent.sh
脚本内容如下:
#!/bin/bash
K=`ps -ef | grep keepalived | grep -v grep | wc -l`
if [ $K -gt 0 ]; thenmagent -u root -n 51200 -l 192.168.80.188 -p 12000 -s 192.168.80.181:11211 -b 192.168.80.182:11211
else
pkill -9 magent
fi

参数注解:
-n 51200 //定义用户最大连接数
-l 192.168.80.188 //指定虚拟IP
-p 12000  //指定端口号
-s //指定主缓存服务器
-b //指定从缓存服务器

chmod +x magent.sh   增加执行权限--在从服务器上操作:
mkdir /opt/shell
cd /opt/shellvi magent.sh
脚本内容如下,与主服务器脚本有区别!
#!/bin/bash
K=`ip addr | grep 192.168.80.188 | grep -v grep | wc -l`
if [ $K -gt 0 ]; thenmagent -u root -n 51200 -l 192.168.80.188 -p 12000 -s 192.168.80.181:11211 -b 192.168.80.182:11211
else
pkill -9 magent
fi  chmod +x magent.sh   加执行权限第三步:开始验证工作
---启动主服务器
service keepalived start
netstat -anpt | grep 12000 //确认magent运行
![](https://s1.51cto.com/images/blog/201803/25/20c59e92c452d26c559ba15bbc70ec27.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
cat /var/log/messages  看日志,验证主从
![](https://s1.51cto.com/images/blog/201803/25/d0554e0924fec37435290893d042078e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
ip addr //确认漂移地址生效
![](https://s1.51cto.com/images/blog/201803/25/69dda3e28ae6ea8e098da85dbf87ac7e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
验证了漂移地址在主服务器上从服务器开启keepalived
service keepalived start
cat /var/log/messages      看日志,验证主从
![](https://s1.51cto.com/images/blog/201803/25/c71e3acc5d79a5b0744fcd4a9101864b.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
下面启动memcached
memcached -m 512k -u root -d -l 192.168.80.181 -p 11211 //启动主memcached -m 512k -u root -d -l 192.168.80.182 -p 11211 //启动从
![](https://s1.51cto.com/images/blog/201803/25/d3006a19746f44b8d7c1dc2ac7bf706d.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
启动成功

下面在客户端测试:192.168.80.138
-----关闭干扰------------
service firewalld stop
setenforce 0

telnet 192.168.80.188 12000 用漂移地址登陆服务:

以上界面表示登陆成功


再次用漂移地址登陆查看内容:

内容存在,写入成功

从181与182服务器本地登陆查看内容:
telnet 192.168.80.181 11211

telnet 192.168.80.182 11211

下面进行倒换测试:
service keepalived stop //把主服务器停了业务不影响

可以看到漂移地址已经转移到从服务器上了,说明从已接受工作!

再次通过漂移地址访问时,业务不受影响,内容依然可以查看!

证明倒换测试成功,主备工作正常

service keepalived start 将主服务器再次启动后

漂移地址再次转移到主服务器上,接手地址,服务依然不受影响。

至此,实验成功!

转载于:https://blog.51cto.com/13490688/2090817

Memcached主主复制+Keepalived高可用架构相关推荐

  1. linux 双mysql_MySQL双主互备+Keepalived高可用架构实现案例

    一.环境介绍 1.1.规划 序号 类别 版本 主机名 IP 端口 备注 1 OS CentOS release 6.9 (Final) (minimal) my1 172.16.210.180 830 ...

  2. MariaDB-5.5.56 主主复制+keepalived高可用

    mariadb主主复制+keepalived高可用 主机1:192.168.1.22 主机2:  192.168.1.23 VIP1:192.168.1.233 VIP2:  192.168.1.23 ...

  3. Memcached主从复制+keepalived高可用架构

    实现主从复制和高可用的方式 Memcached主从复制是指在主Mencached服务器上修改数据都会被同步到其他服务器上,MemcachedAPI客户端是无法判断连接到那一台Memcached服务器, ...

  4. MySQL——Keepalived+Mysql高可用架构实战

    摘要 在生产环境中mysql的高可用的对于整个项目而言有着至关重要的作用.因此需要将mysql设计成为高可用的架构.本博文将详细介绍的mysql+keepalived构建的mysql互为主从的架构实战 ...

  5. mysql复制架构迁移到pxc_mysql复制(高可用架构方案的基础)

    mysql复制:把一个数据库实例上所有改变复制到另外一个数据库库服务器实例的过程 特点: 1.没有改变就无所谓复制 ;改变是复制的根本与数据源 2.所有的改变:是指可以复制全部改变,也可以复制部分改变 ...

  6. 《MySQL性能优化和高可用架构实践》阅读总结

    文章目录 介绍 第1章 MySQL架构介绍 1.1 MySQL简介 1.2 MySQL主流的分支版本 1.3 MySQL存储引擎 1.4 MySQL逻辑架构 1.5 MySQL物理文件体系结构 第2章 ...

  7. mysql性能优化和高可用架构实践pdf_实践大于一切!Alibaba最新MySQL性能优化+高可用架构全彩版PDF...

    本篇的内容将会覆盖MySQL 5. 7数据库体系结构.InnoDB存储引擎.MySQL事务和锁.性能优化.服务器全面优化.性能监控.主从复制,以及PXC集群.MHA自动故障转移群集.MGR组复制.Ke ...

  8. ES+Redis+MySQL,高可用架构设计太牛了!(至尊典藏版)

    目录 前言 一.ES 高可用方案 1.1.ES 双中心主备集群架构 1.2.ES 流量隔离三集群架构 1.3.ES 集群深度优化提升 二.会员 Redis 缓存方案 2.1. ES 近一秒延时导致的 ...

  9. 高并发、高性能下的 会员系统[同程艺龙] — 高可用架构设计实践

    目录 会员系统[同程艺龙] - 高可用架构设计实践 ES高可用方案 ES双中心主备集群架构 ES流量隔离三集群架构 ES集群深度优化提升 会员Redis缓存方案 Redis双中心多集群架构 高可用会员 ...

最新文章

  1. python command line debug_【已解决】Mac中PyCharm中去加断点实时调试scrapy的项目
  2. python设置坐标轴刻度值字体大小_python 设置xlabel,ylabel 坐标轴字体大小,字体类型...
  3. Linux0.11内核--系统中断处理程序int 0x80实现原理
  4. 作者:李香菊(1964-),女,江西农业工程职业学院副教授
  5. linux curl 特殊字符,遇到问题--curl--- url参数中有+、空格、=、%、、#等特殊符号的导致传参不全 | 易学教程...
  6. flutter列表无法滚动到底部_在闲鱼实习做Flutter是什么感受?
  7. 怎样用VB获得Windows各类系统目录
  8. linux下nand flash驱动工作原理,1.3.4. Nand flash驱动工作原理
  9. 教育机构:用数字化赋能教育
  10. Axure rp8.1.0.3381激活码(2019-07-26 亲测可用)
  11. markdownpad2渲染组件出错——Awesomium sdk组件下载
  12. Android测试之Robotium自动化测试框架
  13. Vue npm install失败报错errno -4058
  14. 闪耀在 UNIX 传奇往事中的启示, UNXI 见证者带你一览究竟
  15. TFT-LCD显示屏工作原理图文解析
  16. 如何在 Visual Paradigm 中创建流程图丨使用教程
  17. Filter 过滤器的使用
  18. Java毕业设计论文写作建议
  19. “正交阵”与“特征值和特征向量”
  20. CNN与RNN对比 CNN+RNN组合方式

热门文章

  1. 关于ST-Link下载STM32程序的使用
  2. Linux命令(20)linux服务器之间复制文件和目录
  3. C++ MFC WebBrowser 探索(二)
  4. 纯CSS3实现牛奶般剔透的3D按钮特效
  5. 十分钟搞定CSS选择器
  6. 各型号英特尔CUP的功率
  7. 文件那些事儿之一(初稿)
  8. 数据库链、物化视图、高级复制方面
  9. 宜家邮件系统正遭网络攻击
  10. YAML出现严重的反序列化漏洞,谷歌TensorFlow将采用 JSON