当前位置: 首页 > article >正文

Memcached(主主复制与keepalive高可用)

案例环境

cache1:192.168.180.144

cache2:192.168.180.145

cache-api:192.168.180.143

案例过程

前置准备

关闭所有设备防火墙

systemctl stop firewalld && setenforce 0
更改主机名
hostnamectl set-hostname cache1 && bash

hostnamectl set-hostname cache2 && bash

hostnamectl set-hostname cache-api && bash

配置环境 

配置主主复制

配置cache-api

提前部署好LAMP环境!!!!

下载编译安装工具包
yum -y install gcc gcc-c++
解压包
tar zxf libmemcached-1.0.18.tar.gz

tar zxf memcached-2.2.0.tgz
启动php
/usr/local/php5/bin/phpize

cp -r /usr/local/php5/include/php/ext/ ./

配置编译安装
#配置编译安装libmemcached
cd libmemcached-1.0.18
./configure --prefix=/usr/local/libmemcached --with-memcached=/usr/local/memcached && make && make install


#配置编译安装memcached
cd memcached-2.2.0
./configure --enable-memcached --with-php-config=/usr/local/php5/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl && make && make test && make install

 配置php添加memcached组件
vim /usr/local/php5/php.ini


#输入刚刚获得的共享地址

extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-zts-20121212/"

extension=memcached.so

访问并查看是否添加成功
#创建php页面检查
vim /usr/local/httpd/htdocs/index.php

<?php

phpinfo();

?>
启动http服务并访问
systemctl start httpd

#访问服务器IP/index.php
192.168.180.143/index.php

测试memcached-api功能

#访问为空请等待!!可继续做,最后查看连接情况!!

#编写memcached检查测试页面
vim /usr/local/httpd/htdocs/test02.php


<?php

$memcache = new Memcached();

$memcache->addServer('192.168.180.110', 11211);

$memcache->set('key', 'Memcache test successful!', 0, 60);

$result = $memcache->get('key');

unset($memcache);

echo $result;

?>
重启httpd
​#重启服务
systemctl restart httpd

#测试访问
192.168.180.143/test02.php

 配置cache1,2
解压压缩文件
下载安装组件与前置包
yum install -y gcc gcc-c++ psmisc
解压压缩源文件
tar zxf libevent-2.1.8-stable.tar.gz -C /usr/src/

tar zxf memcached-1.2.8-repcached-2.2.tar.gz
配置编译安装
#配置编译安装libevent
cd /usr/src/libevent-2.1.8-stable/
./configure --prefix=/usr/local/libevent && make && make install


#配置memcached
cd memcached-1.2.8-repcached-2.2
./configure --prefix=/usr/local/memcached_replication --enable-replication --with-libevent=/usr/local/libevent
修改配置文件
vim memcached-1.2.8-repcached-2.2/memcached.c

#删除多余命令
#ifndef IOV_MAX
# define IOV_MAX 1024
#endif

编译安装memcached
cd memcached-1.2.8-repcached-2.2
make && make install
创建链接文件
ln -s /usr/local/libevent/lib/libevent-2.1.so.6 /usr/lib64/
连接并启动服务
#cache1:
/usr/local/memcached_replication/bin/memcached -d -u root -m 128 -x 192.168.180.145

#cache2:
/usr/local/memcached_replication/bin/memcached -d -u root -m 128 -x 192.168.180.144
查看启动情况
netstat -nultp | grep memcache

下载telnet测试

yum -y install telnet
#cache1:

telnet 192.168,180,145 11211
set username 0 0 8
20250218
get username

#cache2:

telnet 192.168,180,144 11211
get username

配置Memcached+Keepalived

cache1,2
下载keepalived
yum install -y keepalived
cache1修改主配置文件
vim /etc/keepalived/keepalived.conf

#建议将源文件内容全部删除直接复制后在做修改!

! Configuration File for keepalived
global_defs {
   router_id route
}

vrrp_instance VI_1 {
#设备类型
    state MASTER
#网卡名称
    interface ens33
    virtual_router_id 51
#优先级
    priority 100
    advert_int 1
#不主动抢占资源,在高优先级服务器上设置
    nopreempt
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
#虚拟IP地址
        192.168.180.200
    }
}

#虚拟IP地址与端口号
virtual_server 192.168.180.200 11211
delay_loop 6
lb_algo rr
lb_kind NAT
persistence_timeout 20
protocol TCP
#两主对端服务器IP
sorry_server 192.168.180.145 11211
#两主本服务器IP
real_server 192.168.180.144 11211 {
weight 3
notify_down /root/memcached.sh
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 11211
}
}
}

在cache2复制cache1的主配置文件进行修改

scp 192.168.180.144:/etc/keepalived/keepalived.conf /etc/keepalived/

配置报错停止文件
#编写停止脚本
echo "/usr/bin/systemctl stop keepalived" > /root/memcached.sh

#赋予执行权限
chmod +x /root/memcached.sh
启动服务
systemctl start keepalived
查看VIP启动情况
ip address show dev ens33 | grep 192.168.180.200


http://www.kler.cn/a/553387.html

相关文章:

  • 美化个人github主页,部署github-readme-stats
  • 数字化赋能,3D数字博物馆开启沉浸式体验
  • Android今日头条的屏幕适配方案
  • 华为手机突然自动重启且锁屏密码错误
  • 无线网络安全配置指南:WPA、WPA2、WPA3及WAPI详解
  • 解决Python升级导致PySpark任务异常方案
  • 详细介绍Tess4J的使用:从PDF到图像的OCR技术实现
  • netcore https配置
  • 前沿计组知识入门
  • 【算法精练】背包问题(01背包问题)
  • 简站主题:简洁、实用、SEO友好、安全性高和后期易于维护的wordpress主题
  • 使用 Jetty 构建 HTTPS 服务入门指南
  • 视频的分片上传
  • Markdown 常用语法及示例
  • 【C++】类与对象全面剖析(尾卷)(构造深化、类型转换、static成员特性及内部类与匿名对象)
  • 网页制作04-html,css,javascript初认识のhtml如何使用列表
  • MySQL + Python 开发之旅:深入数据库操作与数据交互
  • 如何写出优秀的测试用例?
  • Linux vi模式:从入门到精通
  • 【第一节】C++设计模式(创建型模式)-工厂模式