网站建设询价报告,新闻类wordpress模板,网站排名优化提升快速,石家庄网站建设seo优化营销由于项目需要#xff0c;需要搭建memcached集群环境#xff0c;遂开始调研相关技术网络上有不少linux下安装memcached的教程#xff0c;对于我这个linux零基础的来说#xff0c;想立马在linux下安装memcached#xff0c;似乎还是有点阻碍。参照了不少网络教程#xff0c;… 由于项目需要需要搭建memcached集群环境遂开始调研相关技术网络上有不少linux下安装memcached的教程对于我这个linux零基础的来说想立马在linux下安装memcached似乎还是有点阻碍。参照了不少网络教程安装过程中总是会出错特别是在安装magent的时候总是会报错而相关教程中很少提及如何解决报错问题经过两天的折腾终于摸索并解决了所有的报错问题遂整理了一套“傻瓜”式的安装过程避免安装过程中的报错----------------------------------------------------------------------------------------------------------------------------------------什么是MemcachedMemcached 是一个高性能的分布式内存对象缓存系统用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的HashMap它并不提供冗余复制其HashMap条目当某个服务器停止运行或崩溃了所有存放在服务器上的键/值对都将丢失。但目前Memcached的客户端和代理程序可以提供多服务器的并联方式可以提供一定的处理能力。Memcached与其他分布式缓存的区别Memcached与其它常用的分布式缓存例如EhCache、OSCache、JBoss Cache最主要的区别在于Memcached采用集中式缓存方式即一台或多台缓存服务器为所有应用系统提供缓存能力自身不提供集群能力不提供缓存复制功能而其他分布式缓存系统采用分布式缓存方式各个应用系统内部提供数据缓存的能力多个缓存间采用组播或点对点的方式进行缓存同步。在性能上来看Memcached比其它分布式缓存系统低一半以上未考虑大量数据在其它缓存系统进行复制的影响但从管理方面来看Memcached的缓存采用集中管理的模式应用系统可以水平扩展而其它分布式缓存在水平扩展的同时必须同时调整缓存复制策略一旦应用服务器节点大量扩展对于缓存服务器间的数据复制将成几何数增加。----------------------------------------------------------------------------------------------------------------------------------------环境CentOS release 6.3 搭建memcached集群环境先要安装gcc # yum -y install gcc 在root目录下创建soft_hhf目录# cd /root/# mkdir soft_hhf 1.编译安装libevent# cd /root/soft_hhf/# wget http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz # tar -xvf libevent-2.0.21-stable.tar.gz# cd libevent-2.0.21-stable# ./configure --prefix/usr# makemake install# cd ../ 2.编译安装Memcached# cd /root/soft_hhf/# wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz# tar -xvf memcached-1.4.15.tar.gz# cd memcached-1.4.15/# ./configure --with-libevent/usr# makemake install# cd ../安装完成后会把memcached放到 /usr/local/bin/memcached 3.编译安装magent-0.6到/usr/local/下推荐安装magent-0.5稳定版本下面有说明 日期2013.01.04# cd /usr/local# mkdir magent# cd magent/# wget http://memagent.googlecode.com/files/magent-0.6.tar.gz# tar zxvf magent-0.6.tar.gz# vi ketama.h 在开头加入#ifndef SSIZE_MAX# define SSIZE_MAX 32767#endif# vim Makefile magent-0.6版本LIBS /usr/lib64/libevent.a /usr/lib64/libm.a 改为 LIBS -lrt /usr/lib64/libevent.a /usr/lib64/libm.a CFLAGS -Wall -g -O2 -I/usr/local/include $(M64) 改为 CFLAGS -lrt -Wall -g -O2 -I/usr/local/include $(M64) # vim Makefile magent-0.5版本CFLAGS -Wall -O2 -g 改为 CFLAGS -lrt -Wall -O2 -g# cp /usr/lib/libevent.a /usr/lib64# ln -s /usr/lib64/libm.so /usr/lib64/libm.a# /sbin/ldconfig# sed -i s#LIBS -levent#LIBS -levent -lm#g Makefile# make# cp magent /usr/bin/magent# cd ../ 测试memcached是否安装成功1.启动一个memcached进程# memcached -m 1 -u root -d -l 192.168.1.151 -p 112112.查看是否启动成功了# ps aux|grep memcached显示两行 root则说明安装成功了如下所示root 11952 0.0 0.0 331112 1104 ? Ssl 15:09 0:00 memcached -m 1 -u root -d -l 192.168.1.151 -p 11211root 11959 0.0 0.0 103240 796 pts/1 S 15:09 0:00 grep memcached 测试magent是否安装成功1.启动一个magent进程# magent -u root -n 51200 -l 192.168.1.151 -p 12000 -s 192.168.1.151:112112.查看是否启动成功了# ps aux|grep magent显示两行 root则说明安装成功了如下所示root 11720 0.0 0.0 10972 588 ? Ss 13:51 0:00 magent -u root -n 51200 -l 192.168.1.151 -p 12000 -s 192.168.1.151:11211 -s 192.168.1.151:11212 -b 192.168.1.151:11213root 11974 0.0 0.0 103240 792 pts/1 R 15:12 0:00 grep magent注 之前的安装过程中我总是只显示一行root 11974 0.0 0.0 103240 792 pts/1 R 15:12 0:00 grep magent但是执行magent命令又不报错可是查看magent进程老是没有老是启动不起来其实还是magent没有安装成功所以这边必须要看到两行才能说明启动成功。 好了如果你顺利安装成功那就恭喜你了可以继续深入学习memached的相关知识了 对于安装过程中的报错问题我会在下一篇文章中整理出来供自己以后查阅 接着就是进行测试学习了首先确保telnet服务安装了查看telnet是否安装 查看telnet客户端是否安装# rpm -q telnet 若无安装则执行# yum -y install telnet 查看telnet服务端是否安装# rpm -q telnet-server 若无安装则执行# yum -y install telnet-server 注刚测试发现magent-0.6虽是最新版本但是还存在问题不稳定第二次访问magent始终会堵塞在那里只能set一个值。测试了magent-0.5是稳定版本没有出现只能set一个值的现象遂推荐安装magent-0.5版本 ---------------------------------------------------------------------------------------------------------------------------------------- magent是一款开源的Memcached代理服务器软件其项目网址为http://code.google.com/p/memagent/magent is a simple but useful proxy program for memcached servers.It features:keeps connections to memcached serverssupports following memcached commandsget getsdeleteincr decradd set replace prepend appendcasevent-driven by using libevent librarysupports ketama algorithmbackup servers farmunix domain socketUsage: -h this message -u uid -g gid -p port, default is 11211. (0 to disable tcp support) -s ip:port, set memcached server ip and port -b ip:port, set backup memcached server ip and port -l ip, local bind ip address, default is 0.0.0.0 -n number, set max connections, default is 4096 -D do not go to background -k use ketama key allocation algorithm -f file, unix socket path to listen on. default is off -i number, max keep alive connections for one memcached server, default is 20 -v verboseChangelog:2010/4/14: memcached agent 0.6add connection keepalive handlerbug fix, more robust, more debug messagesExamples: magent -s 10.1.2.1 -s 10.1.2.2:11211 -b 10.1.2.3:14000 -vNotes:current magents speed is about 80% of memcacheds. finding way to speed it up(not good)adding backup server does no harm to magents performance. (good)magents cpu usage is less than memcacheds and has very little memory usage. (good)magent-0.5.tar.gz (16 KB)下载次数: 23magent-0.6.tar.gz (16.9 KB)下载次数: 23libevent-2.0.21-stable.tar.gz (830.8 KB)下载次数: 9memcached-1.4.15.tar.gz (316.8 KB)下载次数: 14 转载于:https://blog.51cto.com/wenzengliu/1591002