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

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

[[email protected] 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 [email protected]:/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 关闭 ,在进入数据库 ,实现故障切换 。

原文地址:http://blog.51cto.com/13640803/2151608

时间: 2024-11-04 16:09:16

Memcached主主复制+Keepalived高可用群集的相关文章

CentOS 7 上部署Memcached 主主复制 + keepalived 高可用架构

实验环境 Memcached主主复制是指在任意一台Memcached服务器修改数据都会被同步到另外一台,但是Memcached API客户端是无法判断连接到哪一台Memcached服务器的,所以需要设置VIP地址,提供给Memcached API客户端进行连接.可以使用kcepalived产生的VIP地址连接主Memceached服务器,并且提供高可用架构.本案例使用两台Memcahed服务器和一台测试主机来完成. 主Memcahed服务器IP:192.168.10.161 备Memcahed服

Memcached主主复制+Keepalived高可用架构(内含所有源码包)

初步了解memcached主主复制: Memcached主主复制是指在任意一台memcached服务器修改数据都会被同步到另外一台,但是memcached API客户端是无法判断连接到哪一台memcached服务器的,所以需要设置VIP地址,提供给memcached API客户端进行连接.可以使用keepalived产生的VIP地址连接主memcached服务器,并且提供高可用架构.Memcached的复制功能支持多个memcached之间进行相互复制(双向复制,主备都是可读可写的),可以解决m

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.234 主机1设置: 安装需要用到的rpm包 yum -y install ipvsadm keepalived mariadb mariadb-server 启动mariadb并设置为开机启动 systemctl start mariadb systemctl enable mariadb 设置密码

Centos7 下实现 memcached + keepalived 高可用群集

memcached + keepalived 高可用群集 memcached介绍 Memcached是一套开源的高性能分布式内存对象缓存系统,它将所有的数据都存储在内存中,因为在内存中会统一维护一张巨大的Hash表,所以支持任意存储类型的数据.很多网站通过使用 Memcached提高网站的访问速度,尤其是对于大型的需要频繁访问数据的网站.Memcached是典型的C/S架构,因此需要安装 Memcached服务端与 MemcachedAPI客户端. Memcached服务端是用C语言编写的,而

Memcached+magent实现主从同步 +keepalived高可用群集

Memcached+magent实现主从同步 +keepalived高可用群集 简介 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. 实验部署 主机名称 IP地址 主要服务软件 memcach

LVS+keepalived 高可用群集

LVS+keepalived 高可用群集 实验目的: 使用 keepalived 实现 LVS 双机热备. 实验环境: 主机 操作系统 IP地址 主要软件 LVS 负载调度器 CentOS 7.3 x86_64 192.168.217.128 keepalived LVS 负载调度器 CentOS 7.3 x86_64 192.168.217.129 keepalived web 服务器 1 CentOS 7.3 x86_64 192.168.217.130 http web 服务器 2 Cen

keepalived高可用群集与lvs群集结合搭建

 keepalived双机热备 1:keepalived双机热备,主要是用来提供故障切换,和对节点服务器的健康检查.当故障主机回复之后加入群集 2:keepalived是基于vrrp协议的方式进行热备方式,除了一个主服务器之外可以有多个从服务器,而且每一台从服务器的优先级等级各不相同. 3:工作的时候只有主服务器在工作其他服务器处于冗余状态,只要主服务器一旦发生宕机,从服务器,优先级最高的将接任主服务器的位置,以此类推.当主服务器故障排除之后,将重新夺得控制权                  

高可用群集HA介绍与LVS+keepalived高可用群集

一.Keepalived介绍 通常使用keepalived技术配合LVS对director和存储进行双机热备,防止单点故障,keepalived专为LVS和HA设计的一款健康检查工具,但演变为后来不仅仅为LVS提供方案,Keepaliced支持故障自动切换(Failover),支持节点健康状态检查(Health Checking),官方网站http://www.keepalived.org/ Keepalived采用VRRP的热备份协议实现Linux服务器的多机热备功能,VRRP,虚拟路由冗余协

构建LVS+Keepalived高可用群集

防伪码:不必向我诉说春天,我的心里并没有秋寒 第六章 构建LVS+Keepalived高可用群集 前言:keeplived是专门针对LVS设计的一款辅助工具,主要功能是实现故障切换和健康检查,官方网站:http://www.keepalived.org.类似于我们以前学习过的HSRP热备份路由协议,HSRP是思科的私有协议,而VRRP是通用协议,都是为了实现故障切换,当一台路由器发生故障的时候,另一台马上接替工作,用户感觉不到服务器发生了问题,而且不会中断服务.我们今天学习的双机热备是就是利用了