手把手教你搭建小型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服务器主主复制与keepalived高可用集群_第1张图片

 

编译安装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

手把手教你搭建小型Memcached服务器主主复制与keepalived高可用集群_第2张图片

在文件开头出新增加这三行

vi Makefile

手把手教你搭建小型Memcached服务器主主复制与keepalived高可用集群_第3张图片

在第一行加LIBS = -levent –lm //l 不是数字 1

 

配置好了就可以make编译了

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

cp magent /usr/bin/

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

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

scp magent [email protected]:/usr/bin/

手把手教你搭建小型Memcached服务器主主复制与keepalived高可用集群_第4张图片

复制成功

用本地yum安装keepalived软件

yum install keepalived –y

 

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

参考配置文件脚本

! Configuration File for keepalived

 

global_defs {

   notification_email{

    [email protected]

    [email protected]

    [email protected]

   }

  notification_email_from [email protected]

  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 [email protected]:/etc/keepalived/keepalived.conf./

手把手教你搭建小型Memcached服务器主主复制与keepalived高可用集群_第5张图片

将主上的配置拷贝过来

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 //确认漂移地址生效

手把手教你搭建小型Memcached服务器主主复制与keepalived高可用集群_第6张图片

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

从服务器上开启keepalived

service keepalived start

cat /var/log/messages

手把手教你搭建小型Memcached服务器主主复制与keepalived高可用集群_第7张图片

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 登录

登录成功

写入内容

手把手教你搭建小型Memcached服务器主主复制与keepalived高可用集群_第8张图片

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

手把手教你搭建小型Memcached服务器主主复制与keepalived高可用集群_第9张图片

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

telnet 192.168.80.186 11211

手把手教你搭建小型Memcached服务器主主复制与keepalived高可用集群_第10张图片

主服务器成功

telnet 192.168.80.187 11211

手把手教你搭建小型Memcached服务器主主复制与keepalived高可用集群_第11张图片

从也成功

下面将主停掉

service keepalived stop

手把手教你搭建小型Memcached服务器主主复制与keepalived高可用集群_第12张图片

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

188访问还是可以的

手把手教你搭建小型Memcached服务器主主复制与keepalived高可用集群_第13张图片

再将主服务器起来

手把手教你搭建小型Memcached服务器主主复制与keepalived高可用集群_第14张图片

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

手把手教你搭建小型Memcached服务器主主复制与keepalived高可用集群_第15张图片

从服务器上已经没有了

试验成功

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

 

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

 

 

你可能感兴趣的:(云计算)