阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Memcached构建缓存加速集群部署

134次阅读
没有评论

共计 5113 个字符,预计需要花费 13 分钟才能阅读完成。

前言:

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态 Web 应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached 基于一个存储键 / 值对的 hashmap。其守护进程(daemon)是用 C 写的,但是客户端可以用任何语言来编写,并通过 memcached 协议与守护进程通信。

CentOS 6.5 最下化安装系统(RedHat6/Centos6 系列)

实验环境:magent1:192.168.1.1  magent2:192.168.1.2  漂移 IP:192.168.1.10

      主缓存 memcached:192.168.1.3 

      从缓存 memcached:192.168.1.4 

1、四台机器都要安装 libevent 软件

[root@localhost ~]# tar -zxvf libevent-2.0.21-stable.tar.gz -C /usr/src/

[root@localhost ~]# cd /usr/src/libevent-2.0.21-stable/

[root@localhost libevent-2.0.21-stable]# ./configure –prefix=/usr/

[root@localhost libevent-2.0.21-stable]# make && make install

2、安装 memcached 软件

[root@localhost ~]# tar -zxvf memcached-1.4.31.tar.gz -C /usr/src/

[root@localhost ~]# cd /usr/src/memcached-1.4.31/

[root@localhost memcached-1.4.31]# ./configure –enable-memcache –with-libevent=/usr/

[root@localhost memcached-1.4.31]# make && make install

主缓存:

[root@localhost ~]# memcached -d -m 1024 -u root -l 192.168.1.3 -p 11211

-d: 开启守护进程 daemon -m:制定分配的内存 memory

-u:用户  -l:监听的 IP 地址  -P:监听的端口号

备缓存:

[root@localhost ~]# memcached -d -m 1024 -u root -l 192.168.1.4 -p 11211

[root@localhost ~]# netstat -anpt | grep memcached

3、安装 magent 软件

[root@localhost ~]# mkdir /usr/magent

[root@localhost ~]# tar -zxvf magent-0.6.tar.gz -C /usr/magent/

[root@localhost ~]# cd /usr/magent/

[root@localhost magent]# vim ketama.h

添加 (头部添加):

#ifndef SSIZE_MAX

#define SSIZE_MAX 32767

#endif

[root@localhost magent]# ln -s /usr/lib64/libm.so /usr/lib64/libm.a

[root@localhost magent]# ln -s /usr/lib64/libevent-1.4.so.2 /usr/lib64/libevent.a

[root@localhost magent]# /sbin/ldconfig

[root@localhost magent]# sed -i “s#LIBS = -levent#LIBS = -levent -lm#g” Makefile

[root@localhost magent]# vim Makefile

将 CFLAGS = -Wall -O2 - g 修改为 CFLAGS = -lrt -Wall -O2 -g

[root@localhost magent]# make

[root@localhost magent]# cp magent /usr/bin/

主缓存和备缓存一样的启动命令

[root@localhost ~]# magent -u root -n 51200 -l 192.168.1.10 -p 12000 -s 192.168.1.3:11211 -b 192.168.1.4:11211

注意:IP192.168.1.10 是后面要做的 keepalived 虚拟 IP 地址,后面要用到!

[root@localhost ~]# magent -u root -n 51200 -l 192.168.1.10 -p 12000 -s 192.168.1.3:11211 -b 192.168.1.4:11211

-u:用户

-n:最大连接数

-l:magent 对外监听 IP 地址

-p:magent 对外监听端口

-s:magent 主缓存 IP 地址和端口

-b:magent 备缓存 IP 地址和端口

[root@localhost ~]# ps -elf | grep magent

4、安装 keepalived 软件 – 在 magent1 和 magent2 上面都安装

[root@localhost ~]# tar -zxvf keepalived-1.2.13.tar.gz -C /usr/src/

[root@localhost ~]# cd /usr/src/keepalived-1.2.13/

[root@localhost keepalived-1.2.13]# ./configure –prefix=/ –with-kernel-dir=/usr/src/kernels/2.6.32-431.el6.x86_64

PS:yum -y install kernel-devel 才能出现如上文件

[root@localhost keepalived-1.2.13]# make && make install

配置 mangent1 上面的 keepalived

[root@localhost ~]# vim /etc/keepalived/keepalived.conf

修改:

global_defs {

router_id LVS_DEVEL_R1

}

vrrp_instance VI_1 {

state MASTER       

interface eth0

virtual_router_id 51

priority 100    主的优先级应该高于备机的值

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.1.10    漂移 IP 地址

}

}

后面的部分全部删除或注释掉

[root@localhost ~]# service keepalived restart

[root@localhost ~]# ip add show dev eth0

[root@localhost keepalived]# ip add show eth0

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:82:0f:58 brd ff:ff:ff:ff:ff:ff

    inet 192.168.1.1/24 brd 192.168.1.255 scope global eth0

    inet 192.168.1.10/32 scope global eth0

    inet6 fe80::20c:29ff:fe82:f58/64 scope link

      valid_lft forever preferred_lft forever

配置 magent2 的 keepalived

[root@localhost ~]# vim /etc/keepalived/keepalived.conf

修改:

global_defs {

router_id LVS_DEVEL_R2

}

vrrp_instance VI_1 {

state BACKUP

priority 99

……

virtual_ipaddress {

192.168.1.10

}

— 其他参数与主缓存服务器保持一致 —-

}

[root@localhost ~]# service keepalived restar

验证:

客户端 ping 192.168.1.10 查看 VIP 的变化情况。

5、验证:

1)用主缓存节点连接上主缓存的 1200 端口插入数据

[root@localhost ~]# telnet 192.168.1.10 12000

Trying 192.168.1.10…

Connected to 192.168.1.10.

Escape character is ‘^]’.

输入 quit  回车后即可退出 telnet

Connection closed by foreign host. 

2)查看插入的数据

[root@localhost ~]# telnet 192.168.1.10 12000

Trying 192.168.1.10…

Connected to 192.168.1.10.

Escape character is ‘^]’.

输入 quit  回车后即可退出 telnet

Connection closed by foreign host.

3)连接主缓存节点的 11211 端口进行查看

[root@localhost ~]# telnet 192.168.1.3 11211

Trying 192.168.1.3…

Connected to 192.168.1.3.

Escape character is ‘^]’.

输入 quit  回车后即可退出 telnet

Connection closed by foreign host.

4)连接主缓存节点的 11211 端口进行查看

[root@localhost ~]# telnet 192.168.1.4 11211

Trying 192.168.1.4…

Connected to 192.168.1.4.

Escape character is ‘^]’.

输入 quit  回车后即可退出 telnet

Connection closed by foreign host.

说明主缓存节点和备缓存节点都有数据。

宕掉主缓存节点。

1)停止 memcached 进程(或者断开主缓存节点的网卡),

2)客户端查看

[root@localhost ~]# telnet 192.168.1.10 12000

Trying 192.168.1.10…

Connected to 192.168.1.10.

Escape character is ‘^]’.

OK,实验完毕,加油,送给一直坚持的你!嘿嘿。。。。

本文只做了简单的安装测试,更深层次的请查看其它精选文档

总结:

memcache 的优点:可以做多主或者多从

memcache 的缺点:当主缓存节点当掉又恢复,之前的缓存数据会丢失。

Linux CentOS 7 下通过 Memcached 实现 Session 共享  http://www.linuxidc.com/Linux/2016-09/135552.htm

CentOS 6.6 下 Memcached 源码安装配置  http://www.linuxidc.com/Linux/2015-09/123019.htm

Memcached 安装及启动脚本 http://www.linuxidc.com/Linux/2013-07/87641.htm

PHP 中使用 Memcached 的性能问题 http://www.linuxidc.com/Linux/2013-06/85883.htm

Ubuntu 下安装 Memcached 及命令解释 http://www.linuxidc.com/Linux/2013-06/85832.htm

Memcached 的安装和应用 http://www.linuxidc.com/Linux/2013-08/89165.htm

使用 Nginx+Memcached 的小图片存储方案 http://www.linuxidc.com/Linux/2013-11/92390.htm

Memcached 使用入门 http://www.linuxidc.com/Linux/2011-12/49516.htm

Linux 安装 memcached 及 memcache 扩展  http://www.linuxidc.com/Linux/2017-01/139639.htm

Memcached 的详细介绍 :请点这里
Memcached 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-02/140656.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计5113字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中