[转] Linux下安装搭建Memcached集群环境
转自:http://tim-fly.iteye.com/blog/1756936
废话: 可跳过
由于项目需要,需要搭建memcached集群环境,遂开始调研相关技术
网络上有不少linux下安装memcached的教程,对于我这个linux零基础的来说,想立马在linux下安装memcached,似乎还 是有点阻碍。参照了不少网络教程,安装过程中总是会出错,特别是在安装magent的时候,总是会报错,而相关教程中,很少提及如何解决报错问题,经过两 天的折腾,终于摸索并解决了所有的报错问题,遂整理了一套“傻瓜”式的安装过程,避免安装过程中的报错
----------------------------------------------------------------------------------------------------------------------------------------
环境: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
# make&&make 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
# make&&make install
# cd ../
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 11211
2.查看是否启动成功了
# 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 11211
root 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:11211
2.查看是否启动成功了
# 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:11213
root 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版本