使用Magent搭建Memcached分布式集群

安装Memcached

安装libevent库

yum install libevent libevent-devel

在这里插入图片描述

安装 Memcached

yum install memcached

在这里插入图片描述

Memcached 运行

使用一下命令来启动Memcached服务

/usr/bin/memcached  -d -m 1024 -u root -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid

查看到Memcached服务已经启动

ps -ef|grep memcached

在这里插入图片描述
通过telnet访问并对Memcached进行操作
在这里插入图片描述

安装Magent

下载Magent

链接:https://pan.baidu.com/s/1CoEc8pdhX6pvT9bRkpETjQ

提取码:0yfh

安装Magent

cd /usr/local
mkdir magent

将下载好的压缩包放到这个文件夹下

tar -zxvf magent-0.6.tar.gz
/sbin/ldconfig
sed -i "s#LIBS = -levent#LIBS = -levent -lm#g" Makefile

在这里插入图片描述
在ketama.h开头添加

#ifndef SSIZE_MAX
#define SSIZE_MAX 32767
#endif

在这里插入图片描述


然后安装

make

在这里插入图片描述

出错了,先解决libm.a的问题

ln -s /usr/lib64/libm.so /usr/lib64/libm.a

在这里插入图片描述

然后解决libevent.a的问题
这个可能是yum安装的问题,所以我建议通过编译的方式来安装

链接:https://pan.baidu.com/s/1h5YkFxZT7-sKz3n-fkSpDg
提取码:1o56
将该文件放到/tmp目录下

cd /tmp
tar zxvf libevent-2.0.21-stable.tar.gz
yum install gcc
cd libevent-2.0.21-stable 
./configure -prefix=/usr/local
make
make install

此时已经成功安装好了libevent


回到magent目录

cd /usr/local/magent/
vi Makefile

找到 LIBS = /usr/lib64/libevent.a /usr/lib64/libm.a
按照下图中修改

在这里插入图片描述
保存后继续安装

make

在这里插入图片描述
复制 make 生成的/usr/local/下名为magent的文件到/usr/bin/

cp magent /usr/bin/magent

检查是否安装成功

./magent -h

出现如下界面则安装成功
在这里插入图片描述

代理Memcache

在三个虚拟机上开启Memcache,在主节点的12000端口开启magent代理程序
本机和192.168.31.130为主Memcache,192.168.31.131为备份Memcache

magent -u root -n 51200 -l 127.0.0.1 -p 12000 -s 127.0.0.1:11211 -s 192.168.31.130:11211

在这里插入图片描述

客户端连接12000端口,连接magent,进行memcached操作,相应的值会分布写到两个虚拟机的Memcached上。
首先在本机使用magent写入五条记录
在这里插入图片描述
在本机的节点只读取到了key2,key4
在这里插入图片描述
在192.168.31.130读取到了key1,key3,key5
在这里插入图片描述
五条数据是分布在两个节点的Memcached上的,测试成功

猜你喜欢

转载自blog.csdn.net/weixin_43622131/article/details/105738981