ol0 2019-12-25
服务器角色 | IP地址 | 需要安装的软件包 |
---|---|---|
主缓存服务器 | 192.168.142.130 | Telnet、libevent、memcached、keepalived、magent |
从缓存服务器 | 192.168.142.131 | Telnet、libevent、memcached、keepalived |
客户端 | 192.168.142.132 | Telnet |
#挂载软件包 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 :/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 { } notification_email_from 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
#挂载软件包 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 [ memcached-1.5.6]# cd /etc/keepalived/ [ keepalived]# mv keepalived.conf keepalived.conf.bk [ keepalived]# touch keepalived.conf [ keepalived]# vim keepalived.conf vrrp_script magent { script "/opt/shell/magent.sh" interval 2 } global_defs { notification_email { } notification_email_from 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