内容简介:Memcached 主主复制是指在任意一台 Memcached 服务器修改数据都会被同步到另外一台,但是Memcached API 客户端是无法判断链接到那一台服务器的,所以需要设置 VIP 地址,提供给 Memcached API 客户端进行链接。可以使用keepalived 产生的 VIP 地址链接主 Memcached 服务器,并且提供高可用架构。
Memcached 主主案例 :
Memcached 主主复制是指在任意一台 Memcached 服务器修改数据都会被同步到另外一台,但是Memcached API 客户端是无法判断链接到那一台服务器的,所以需要设置 VIP 地址,提供给 Memcached API 客户端进行链接。可以使用keepalived 产生的 VIP 地址链接主 Memcached 服务器,并且提供高可用架构。
实验环境 :
| 主机 | IP地址 | 操作系统 | 主要软件包 |
|---|---|---|---|
| Memcached 1 | 192.18.217.128 | CentOS 7.3 x86_64 | memcached libevent magent |
| Memcached 2 | 192.18.217.129 | CentOS 7.3 x86_64 | memcached libevent |
| 客户端 | 192.18.217.130 | CentOS 7.3 x86_64 | Telnet |
案例实施 :
在两台服务器上安装 :
systemctl stop firewalld.service setenforce 0 tar xf memcached-1.5.6.tar.gz -C /opt/ #缓存服务 tar xf libevent-2.1.8-stable.tar.gz -C /opt/ #事件通知库 yum install gcc gcc-c++ make -y #安装环境包 cd /opt/libevent-2.1.8-stable ./configure --prefix=/usr #指定工作目录 make && make install cd /opt/memcached-1.5.6 ./configure \ --with-libevent=/usr #指定libevent的安装路径 make && make install ln -s /usr/local/memcached/bin/* /usr/local/bin/ #让系统识别命令 memcached -d -m 32m -p 11211 -u root #启动 memcached netstat -anpt | grep 11211 #查看 memcached 端口 yum install telnet -y [root@localhost memcached-1.5.6]# telnet 127.0.0.1 11211 #进入缓存数据库 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'.
在主缓存服务器配置 :
mkdir /opt/magent tar zxvf magent-0.5.tar.gz -C /opt/magent/ ketama.c magent.c ketama.h Makefile cd /opt/magent/ vim ketama.h #编辑配置文件 #ifndef SSIZE_MAX #define SSIZE_MAX 32767 #endif vim Makefile LIBS = -levent -lm make #生成的mgent程序让系统识别 cp magent /usr/bin/ #将magent可执行文件加入usr可执行命令中 scp magent root@192.168.217.129:/usr/bin/ #发送到从缓存服务器上
在主缓存服务器配置 :
1.配置 keepalived :
yum install keepalived -y #两台服务器安装 keepalived
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
vrrp_script magent { #添加脚本路径
script "/opt/shell/magent.sh"
interval 2
......
router_id 0001 #删除以下4行
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script { #调用脚本
magent
}
virtual_ipaddress {
192.168.217.100 #虚拟IP
}
}
以下内容可以删除
2.编写 magent 脚本 :
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.217.100 -p 12000 -s 192.168.217.128:11211 -b 192.168.217.129:11211
else
pkill -9 magent
fi
#参数说明 :
-n 51200 #定义用户最大连接数
-l 192.168.217.100 #虚拟IP
-p 12000 #指定端口号
-s #指定主缓存服务器
-b #指定从缓存服务器
chmod +x magent.sh #添加执行权限
systemctl start keepalived.service
netstat -antp | grep magent #查看12000端口是否开启
配置从缓存服务器 :
1.配置从缓存服务器 keepalived :
yum install keepalived -y
vim /etc/keepalived/keepalived.conf
......
priority 90 #修改优先级 辨别活跃和备份 其它一样
......
2.编写从缓存服务器 magent 脚本 :
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.217.100 -p 12000 -s 192.168.217.128:11211 -b 192.168.217.129:11211
else
pkill -9 magent
fi
#参数说明 :
-n 51200 #定义用户最大连接数
-l 192.168.217.100 #虚拟IP
-p 12000 #指定端口号
-s #指定主缓存服务器
-b #指定从缓存服务器
chmod +x magent.sh #添加执行权限
systemctl start keepalived.service
netstat -antp | grep magent #查看12000端口是否开启
客户端测试 :
1.数据测试 ,添加数据。在主从缓存服务查看是否有 :
yum install telnet -y telnet 192.168.217.100 12000 #进入缓存数据库 Trying 192.168.217.100... Connected to 192.168.217.100. Escape character is '^]'. add username 0 0 7 #添加键值数据 1234567 STORED
2.故障测试 :
退出缓存数据库,把活跃 keepalived 关闭 ,在进入数据库 ,实现故障切换 。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Magent搭建Memcached高可用群集
- Magent + Keepalived实现Memcached高可用群集
- Memcached高可用群集(Memcached主主复制+Keepalived)
- 领会Memcached高可用群集(Memcached主主复制+Keepalived)
- LVS负载均衡之LVS-DR搭建Web群集与LVS结合Keepalived搭建高可用Web群集
- RabbitMQ 群集安装
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python学习手册(第4版)
[美] Mark Lutz / 李军、刘红伟 / 机械工业出版社 / 2011-4 / 119.00元
Google和YouTube由于Python的高可适应性、易于维护以及适合于快速开发而采用它。如果你想要编写高质量、高效的并且易于与其他语言和工具集成的代码,《Python学习手册:第4 版》将帮助你使用Python快速实现这一点,不管你是编程新手还是Python初学者。本书是易于掌握和自学的教程,根据作者Python专家Mark Lutz的著名培训课程编写而成。 《Python学习手册:第......一起来看看 《Python学习手册(第4版)》 这本书的介绍吧!