Memcached主主复制+Keepalived高可用群集

栏目: 数据库 · Memcache · 发布时间: 6年前

内容简介: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 关闭 ,在进入数据库 ,实现故障切换 。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Where Wizards Stay Up Late

Where Wizards Stay Up Late

Katie Hafner / Simon & Schuster / 1998-1-21 / USD 16.00

Twenty five years ago, it didn't exist. Today, twenty million people worldwide are surfing the Net. "Where Wizards Stay Up Late" is the exciting story of the pioneers responsible for creating the most......一起来看看 《Where Wizards Stay Up Late》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具