手把手教你搭建小型Memcached服务器主主复制与keepalived高可用集群

手把手教你搭建小型Memcached服务器主主复制与keepalived高可用集群

架构环境:

一共需要三台虚拟机

第一台Linux 7.4虚拟机作为主节点服务器需要安装Memcached Libevent magent keepalived四个软件 服务器IP地址为192.168.80.186;

第二台 Linux 7.4 虚拟机作为备节点需要安装Memcached Libevent keepalived 三个软件 服务器IP地址为192.168.80.187;

第三台虚拟机为测试机可以用真机也可以用Linux 7.4 作为测试机需要安装telnet连接软件测试机IP地址为192.168.80.181;

 

架构原理: magent软件可以支持Memcached的复制功能多台Memcached之间相互复制而Memcached需要依赖Libevent 安装keepalived检测进行健康检查与故障切换。

 

实验过程:

将软件包通过winscp软件传入两台Linux服务器

配置memcached主服务器节点和从缓存节点  两台配置完全相同  只要没有特别说明都是在两台上都做

解压包

安装lib插件

Configure好了之后用  make && make install 编译安装

 

编译安装memcached:

cd ../memcached-1.5.6

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

make && make install

 

两台都装好后在主上安装magent

/opt/下创建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 //l 不是数字 1

 

配置好了就可以make编译了

ls后可以看到magent可执行程序

cp magent /usr/bin/

magent可执行文件加入usr可执行命令中

因为只要服务器中有magent可执行文件就可以执行magent命令所以只需要将主服务器的magent文件复制到从服务器就可以了

scp magent root@192.168.80.187:/usr/bin/

复制成功

用本地yum安装keepalived软件

yum install keepalived –y

 

vi /etc/keepalived/keepalived.conf //修改默认配置文件

参考配置文件脚本

! Configuration File for keepalived

 

global_defs {

   notification_email{

    acassen@firewall.loc

    failover@firewall.loc

    sysadmin@firewall.loc

   }

  notification_email_from Alexandre.Cassen@firewall.loc

  smtp_server 192.168.200.1

  smtp_connect_timeout 30

  router_id MAGENT_HA

}

vrrp_script magent {

       script "/opt/shell/magent.sh"

       interval 2

}

vrrp_instance VI_1 {

    stateBACKUP

   interface ens33

   virtual_router_id 51

   priority 99

   advert_int 1

   authentication {

       auth_type PASS

       auth_pass 1111

    }

track_script {

       magent

}

   virtual_ipaddress {

       192.168.80.188

    }

}

下面的是在从服务器配置

cd /etc/keepalived/

mv keepalived.conf keepalived.conf.bak

scp root@192.168.80.186:/etc/keepalived/keepalived.conf./

将主上的配置拷贝过来

vi keepalived.conf

改这几个就可以了

router_id MAGENT_HA

 state BACKUP

 priority 90

在主服务器上写启动脚本

mkdir /opt/shell

cd /opt/shell

 

vi 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.80.188 -p 12000 -s 192.168.80.186:11211-b 192.168.80.187:11211

else

pkill -9 magent

fi

 

-n 51200 //定义用户最大连接数

-l 192.168.80.188 //指定虚拟IP

-p 12000 //指定端口号

-s //指定主缓存服务器

-b //指定从缓存服务器

 

chmod +x magent.sh

 

service keepalived start

netstat -anpt | grep 12000 //确认magent运行

ip addr //确认漂移地址生效

漂移地址188已经存在主服务器上

从服务器上开启keepalived

service keepalived start

cat /var/log/messages

187为从服务器

开启memcached

memcached -m 512k -u root -d -l 192.168.80.186 -p11211 //启动主

 

memcached -m 512k -u root -d -l 192.168.80.187-p 11211 //启动从

 

netstat -anptu | grep 11211过滤端口

 

下面用客户端测试Linux7.4 ip地址为192.168.80.181的虚拟机测试

用telnet 192.168.80.188 12000 登录

登录成功

写入内容

再次登录看看是否成功写入数据

在两台服务器看看是否内容同步了

telnet 192.168.80.186 11211

主服务器成功

telnet 192.168.80.187 11211

从也成功

下面将主停掉

service keepalived stop

漂移地址转到从服务器上了

188访问还是可以的

再将主服务器起来

漂移地址还是回到了主服务器

从服务器上已经没有了

试验成功

小型Memcached服务器主主复制与keepalived高可用集群搭建完成

 

下期为大家带来手工编译LAMP架构敬请期待 点一波赞和关注亲们

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值