环境部署
服务器角色 | IP地址 | 需要安装的软件包 |
主缓存服务器 |
192.168.142.130 |
Telnet、libevent、memcached、keepalived、magent |
从缓存服务器 |
192.168.142.131 |
Telnet、libevent、memcached、keepalived |
客户端 |
192.168.142.132 |
Telnet |
第一步:配置memcached主缓存服务器
#挂载软件包
mount.cifs //192.168.142.1/memcached /mnt
cd /mnt/memcached
#创建目录
mkdir /opt/magent
#解压安装包
tar zxvf magent-0.5.tar.gz -C /opt/magent/
tar zxvf libevent-2.1.8-stable.tar.gz -C /opt
tar zxvf memcached-1.5.6.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
make && make install
cd /opt/magent/
vim ketama.h
#ifndef SSIZE_MAX
#define SSIZE_MAX 32767
#endif
#第一行末尾添加-lm
vim Makefile
LIBS = -levent-lm
#编译
make
#安装openssh
yum install openssh-clients -y
cp magent /usr/bin
#推送magent文件
scp magent root@192.168.142.131:/usr/bin
#关闭防火墙和安全功能
systemctl stop firewalld.service
setenforce 0
#安装keepalived
yum install keepalived -y
#修改配置文件
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
#写入下列内容,定义函数
vrrp_script magent {
script "/opt/shell/magent.sh"
interval 2
}
#修改route-id
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_HAL
#修改id名
}
#修改网卡端口
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.142.100 #定义虚拟IP地址
}
}
mkdir /opt/shell
cd /opt/shell/
#配置从服务器脚本
vim 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.142.100 -p 12000 -s 192.168.45.132:
11211 -b 192.168.142.131:11211
else
pkill -9 magent
fi
chmod +x magent.sh
#启动
systemctl start keepalived.service
#查看迁移地址
ip addr
#启动主服务器
memcached -m 512k -u root -d -l 192.168.142.130 -p 11211
#查看端口是否正常开启
netstat -anptu | grep 11211
第二步:配置memcached从缓存服务器
#挂载软件包
mount.cifs //192.168.142.1/memcached /mnt
#解压安装包
cd /mnt/memcached
tar zxvf libevent-2.1.8-stable.tar.gz -C /opt
tar zxvf memcached-1.5.6.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
make && make install
[root@localhost memcached-1.5.6]# cd /etc/keepalived/
[root@localhost keepalived]# mv keepalived.conf keepalived.conf.bk
[root@localhost keepalived]# touch keepalived.conf
[root@localhost keepalived]# vim keepalived.conf
vrrp_script magent {
script "/opt/shell/magent.sh"
interval 2
}
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_HB #id名不可与主服务器相同
}
vrrp_instance VI_1 {
state BACKUP #设定从服务器
interface ens33
virtual_router_id 52 #id号不可与主服务器相同
priority 90 #优先级低与主服务器
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
magent
}
virtual_ipaddress {
192.168.142.100 #定义虚拟IP地址
}
}
mkdir /opt/shell
cd /opt/shell/
#配置从服务器脚本
vim magent.sh
#!/bin/bash
K=`ip addr | grep 192.168.142.100 | grep -v grep | wc -l`
if [ $K -gt 0 ];then
magent -u root -n 51200 -l 192.168.142.100 -p 12000 -s 192.168.142.130:
11211 -b 192.168.142.131:11211
else
pkill -9 magent
fi
chmod +x magent.sh
#启动keepalived
systemctl start keepalived.service
#关闭防火墙和安全功能
systemctl stop firewalld.service
setenforce 0
#启动从服务器
memcached -m 512k -u root -d -l 192.168.142.131 -p 11211
#查看端口是否正常开启
netstat -anptu | grep 11211
#安装telent进行测试
yum install telnet -y
第三步:客户端测试
#关闭防火墙和安全功能
systemctl stop firewalld.service
setenforce 0
#安装telent进行测试
yum install telnet -y
#使用漂移地址登录连接
telnet 192.168.142.100 12000
#创建键值对,验证主从同步
add username 0 0 7
1234567
#双机热备
#停掉主服务器
systemctl stop keepalived.service
#使用漂移地址登录连接
telnet 192.168.142.100 12000
谢谢阅读!!!
新闻名称:memcached高可用群集部署
网页地址:
http://cdxtjz.cn/article/ghihsj.html