Memcached集群
发表于:2024-10-19 作者:千家信息网编辑
千家信息网最后更新 2024年10月19日,配置memcached主缓存节点和从缓存节点-----两台配置相同开启三台虚拟机:192.168.80.100 配置memcached主缓存节点 192.168.80.101 配置
千家信息网最后更新 2024年10月19日Memcached集群
配置memcached主缓存节点和从缓存节点-----两台配置相同开启三台虚拟机:192.168.80.100 配置memcached主缓存节点 192.168.80.101 配置memcached从缓存节点192.168.80.102
1.关闭防火墙机及Selinux[重要](三台开始都要启动)systemctl stop firewalld //关闭防火墙setenforce 0 //关闭监控
2.安装环境包yum install gcc gcc-c++ make -y
3.编译安装libevent(必须先安装)安装上传软件yum install lrz* -y
#解压tar xf libevent-2.1.8-stable.tar.gz -C /opttar xf memcached-1.5.6.tar.gz -C /opt/#切换到libevent目录cd /opt/libevent-2.1.8-stable/
#配置./configure --prefix=/usr/local/libevent
#编译及安装make && make install
3.编译安装memcached#切换到memcachedcd /opt/memcached-1.5.6/
#配置(指定libevent路径)./configure \--prefix=/usr/local/memcached \--with-libevent=/usr/local/libevent/
#编译及安装make && make install
4.优化启动(支持复制功能的Mencached需要安装后的libevent-2.1.so.6模块,不然启动服务会报错)ln -s /usr/local/libevent/lib/libevent-2.1.so.6.0.2 /usr/lib64/libevent-2.1.so.6
5.分别在两台服务器上启动memcached#主服务器cd /usr/local/memcached/bin/./memcached -d -m 32m -l 192.168.80.100 -p 11211 -u root#从服务器cd /usr/local/memcached/bin/./memcached -d -m 32m -l 192.168.80.101 -p 11211 -u root6.检查memcached是否启动netstat -anpt | grep memcached netstat -ntap | grep 11211
magent在主服务器安装,从服务器不用安装编译安装magent1.创建magent目录mkdir /opt/magent2.解压tar xf magent-0.5.tar.gz -C /opt/magent3.切换到目录cd /opt/magent4.让动态链接库为系统所共享/sbin/ldconfig
5.编辑ketama.h,添加文件头部信息 vi ketama.h #ifndef SSIZE_MAX #define SSIZE_MAX 32767
6.修改Makefilevi Makefile //libevent安装路径在/usr/local/libevent中使用以下内容:LIBS = -levent -lm -L /usr/local/libevent/libINCLUDE=-I /usr/local/libevent/include
Magent + Keepalived实现Memcached高可用群集7.编译(完成后会生成一个manage的可执行文件)make
8.复制mgent命令到系统管理中,便于使用cp /opt/magent/magent /usr/bin/9.发送至从服务器scp /opt/magent/magent root@192.168.80.101:/usr/bin
安装keepalivedyum -y install keepalived
1.编辑keepalived配置文件 vi /etc/keepalived/keepalived.conf 把里面内容删除添加以下内容! Configuration File for keepalivedglobal_defs { router_id magent_H1 #指定router_id}vrrp_script magent { #定义函数 script "/root/shell/magent.sh" interval 2}vrrp_instance VI_1 { state MASTER interface ens32 #本地网卡名称 virtual_router_id 51 #id主从一致 priority 100 #主优先级大于从优先级 advert_int 1 authentication { auth_type PASS auth_pass 1111 }track_script { #调用函数 magent }virtual_ipaddress { #vip地址 192.168.80.188 }}
2.建立shell目录mkdir /root/shell3.创建magent.sh脚本vi /root/shell/magent.sh#!/bin/bashKeepalived=`ps -ef | grep keepalived | grep -v grep | wc -l`if [ $Keepalived -gt 0 ]; then magent -u root -n 51200 -l 192.168.80.188 -p 12000 -s 192.168.80.100:11211 -b 192.168.80.101:11211else pkill -9 magentfi
参数说明: -n 51200 #定义用户最大连接数 -l 192.168.175.188 #指定虚拟IP -p 12000 #指定端口号 -s #指定主缓存服务器 -b #指定从缓存服务器
4.赋予脚本执行权限chmod +x /root/shell/magent.sh5.启动keepalived服务systemctl enable keepalivedsystemctl start keepalivednetstat -anpt | grep 12000
6.检查keepalived服务状态systemctl status keepalived
7.检查vip地址ip addr show ens32
netstat -anpt | grep 11211
在从服务器上操作1.安装keepalivedyum -y install keepalived
2.将主服务器上keepalived配置文件复制过来scp root@192.168.80.100:/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
3.编辑keepalived配置文件vi /etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs { router_id magent_H2 #指定router_id}vrrp_script magent { #定义函数 script "/root/shell/magent.sh" interval 2}vrrp_instance VI_1 { state BACKUP interface ens33 #本地网卡名称 virtual_router_id 51 #id主从一致 priority 90 #主优先级大于从优先级 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { #vip地址 192.168.80.188 } track_script { #调用函数 magent }}
4.新建shell目录mkdir /root/shell5.创建magent.sh脚本vi /root/shell/magent.sh#!/bin/bashKeepalived=`ip addr | grep 192.168.80.188 | grep -v grep | wc -l`if [ $Keepalived -gt 0 ]; then magent -u root -n 51200 -l 192.168.80.188 -p 12000 -s 192.168.80.100:11211 -b 192.168.80.101:11211else pkill -9 magentfi
6.赋予脚本执行权限chmod +x /root/shell/magent.sh7.启动keepalived服务systemctl enable keepalivedsystemctl start keepalived
8.检查keepalived服务状态systemctl status keepalived
9.检查vip地址ip addr show ens32
在客户端测试1.安装telnet客户端yum install telnet -y
2.连接memcached测试复制功能//连接vip进行测试,插入user键值telnet 192.168.80.188 12000Trying 192.168.80.188...Connected to 192.168.80.188.Escape character is '^]'.set user 0(标签) 0(缓存时间永不过期) 5(缓存内容)12345STOREDget userVALUE user 0 512345ENDquitConnection closed by foreign host.//连接Memcached1,查询user键值,可以获取,成功!telnet 192.168.80.100 11211Trying 192.168.80.100...Connected to 192.168.80.100.Escape character is '^]'.get userVALUE user 0 512345ENDquitConnection closed by foreign host.
//连接Memcached2,查询user键值,也可以获取,成功![root@centos7-1 ~]# telnet 192.168.80.101 11211Trying 192.168.80.101...Connected to 192.168.80.101.Escape character is '^]'.get userVALUE user 0 512345ENDquitConnection closed by foreign host.
测试单点故障停止主服务器,去连接漂移地址,查看有木有出现内容
服务
服务器
配置
缓存
编译
内容
地址
文件
目录
检查
优先级
函数
脚本
节点
测试
切换
一致
成功
主从
功能
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
宁乡市中医医院服务器
临汾拼接屏触摸软件开发公司
天津高运网络技术有限公司
什么服务器可以玩和平精英体验服
创业网络安全海报
湖南本地软件开发单价
网络技术员未来前景
青海移动家客网络技术薪资待遇
苹果注册id时无法连接服务器
服务器可以直接断电重启吗
数据库的部门
委托软件开发
excel导入到数据库
超跃软件开发有限公司怎么样
单位的网络安全日志
展望未来绘画软件开发
中转服务器挖矿安全吗
专业优化mysql数据库
分析型数据库实例
数据库理论与技术研究
宁乡市中医医院服务器
从mysql数据库取数
访问数据库的技术
idc服务器核心组件
sql 切换使用数据库
如何当软件开发工程师
网络安全之歌简谱
u8数据库附加需要什么文件
捷瑞网络技术 看准网
上海工程软件开发定制价格