magent是一款开源的Memcached代理服务器软件,可以实现Memcached之间的主从备份。在主节点挂点的情况下,会自动切换到从节点继续提供服务。本篇主要介绍magent的安装,以及安装过程中碰到的一些问题。
编译安装libevent:
[root@bicloud75 home]#wget http://monkey.org/~provos/libevent-1.4.9-stable.tar.gz
[root@bicloud75 home]# tar zxvf libevent-1.4.9-stable.tar.gz
[root@bicloud75 home]# cd libevent-1.4.9-stable
[root@bicloud75 libevent-1.4.9-stable]# ./configure --prefix=/usr
[root@bicloud75 libevent-1.4.9-stable]# make && make install
安装Memcached:
参考:Memcached之Window和Linux安装(1)
安装magent
下载的magent-0.6.tar.gz放在/home/magent目录。
[root@bicloud75 home]# cd magent/
[root@bicloud75 magent]# tar zxvf magent-0.6.tar.gz
[root@bicloud75 magent]# ll
总用量 100
-rw-rw-r--. 1 500 502 12822 4月 10 2010 ketama.c
-rw-rw-r--. 1 500 502 339 4月 10 2010 ketama.h
-rw-r--r--. 1 root root 17257 9月 1 10:30 magent-0.6.tar.gz
-rw-rw-r--. 1 500 502 54813 4月 15 2010 magent.c
-rw-rw-r--. 1 500 502 501 4月 14 2010 Makefile
[root@bicloud75 magent]# /sbin/ldconfig //刷新
[root@bicloud75 magent]# sed -i "s#LIBS = -levent#LIBS = -levent -lm#g" Makefile
[root@bicloud75 magent]# make
gcc -lrt -Wall -g -O2 -I/usr/local/include -m64 -o magent magent.o ketama.o /usr/lib64/libevent.a /usr/lib64/libm.a
安装成功!
[root@bicloud75 magent]# ./magent
please provide -s "ip:port" argument
memcached agent v0.6 Build-Date: Sep 1 2015 14:53:34
Usage:
-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 don't go to background
-k use ketama key allocation algorithm
-f file, unix socket path to listen on. default is off
-i number, set max keep alive connections for one memcached server, default is 20
-v verbose
参数
|
描述
|
-h
|
帮助信息
|
-u
|
用户ID
|
-g
|
|
-p
|
端口号,默认是11211,不能为0
|
-s
|
memcachd服务的IP+端口
|
-b
|
备份memcached的IP+端口
|
-l
|
本地bind的IP地址,默认是:0.0.0.0
|
-n
|
最大的连接数量,默认是:4096
|
-D
|
不运行在后台
|
-k
|
使用ketama密钥分配算法
|
-f
|
|
-i
|
设置每个memcached服务保持存活的连接数量,默认是20
|
-v
|
启动时前端打印日志
|
启动命令:
有六个Memcached进程,分别是:
10.0.1.75:12000
10.0.1.75:12001
10.0.1.76:12000
10.0.1.76:12001
10.0.1.77:12000
10.0.1.77:12001
10.0.1.75:12000,10.0.1.76:12000,10.0.1.77:12000作为主Memcached
10.0.1.75:12001,10.0.1.76:12001,10.0.1.77:12001作为备Memcached
启动Magent:
/home/magent/magent -u -k root -n 51200 -p 11222 -s 10.0.1.75:12000 -s 10.0.1.76:12000 -s 10.0.1.77:12000 -b 10.0.1.75:12000 -b 10.0.1.76:12001 -b 10.0.1.77:12001
Magent端口为11222,下面使用telnet查看连接情况:
[root@bicloud75 home]# telnet 10.0.1.75 11222
Trying 10.0.1.75...
Connected to 10.0.1.75.
Escape character is '^]'.
stats
memcached agent v0.6
matrix 1 -> 10.0.1.75:12000, pool size 1
matrix 2 -> 10.0.1.76:12000, pool size 1
matrix 3 -> 10.0.1.77:12000, pool size 1
END
magent安装错误总汇:
错误1:
gcc -Wall -g -O2 -I/usr/local/include -m64 -c -o magent.o magent.c
magent.c: 在函数‘writev_list’中:
magent.c:729: 错误:‘SSIZE_MAX’未声明(在此函数内第一次使用)
magent.c:729: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
magent.c:729: 错误:所在的函数内也只报告一次。)
make: *** [magent.o] 错误 1
解决办法:
[root@bicloud75 magent]# vi ketama.h
ketama.h文件头部加下列几行:
#ifndef SSIZE_MAX
#define SSIZE_MAX 32767
#endif
错误2:
gcc -Wall -g -O2 -I/usr/local/include -m64 -c -o magent.o magent.c
gcc -Wall -g -O2 -I/usr/local/include -m64 -c -o ketama.o ketama.c
gcc -Wall -g -O2 -I/usr/local/include -m64 -o magent magent.o ketama.o /usr/lib64/libevent.a /usr/lib64/libm.a
/usr/lib64/libevent.a(event.o): In function `gettime':
(.text+0x439): undefined reference to `clock_gettime'
/usr/lib64/libevent.a(event.o): In function `event_base_new':
(.text+0x6fa): undefined reference to `clock_gettime'
collect2: ld 返回 1
make: *** [magent] 错误 1
解决办法:
[root@bicloud75 magent]# vi Makefile
CFLAGS = -Wall -g -O2 -I/usr/local/include $(M64)
改成
<pre name="code" class="java">CFLAGS = -lrt -Wall -g -O2 -I/usr/local/include $(M64)
错误3:
gcc -lrt -Wall -g -O2 -I/usr/local/include -m64 -o magent magent.o ketama.o /usr/lib64/libevent.a /usr/lib64/libm.a
gcc: /usr/lib64/libm.a:没有那个文件或目录
make: *** [magent] 错误 1
解决办法:
[root@bicloud77 magent]# ln -s /usr/lib64/libm.so /usr/lib64/libm.a
下一篇将讲述如何采用magent做memcachd HA
分享到:
相关推荐
memcached安装软件 libevent-2.0.21-stable.tar.gz magent.tar.gz memcached-1.4.15.tar.gz
里边包含《magent-0.6.tar.gz》、《magent-0.5.tar.gz》、《magent-0.4.tar.gz》
memcached 安装包及相关工具。memcached-1.4.22.tar.gz,magent6.tar.gz,memadmin-master.zip。
文档描述了在linux下如何安装JDK,memcached、magent等软件的步骤。
magent是一款开源的Memcached代理服务器软件,其项目网址为:http://code.google.com/p/memagent/ 安装完后显示版本为0.6,如下: [root@localhost /]# magent please provide -s "ip:port" argument memcached ...
magent是一款开源的Memcached代理服务器软件,其项目网址为:http://code.google.com/p/memagent/ 安装完后显示版本为0.4,如下: [root@localhost /]# magent please provide -s "ip:port" argument memcached ...
java中连接memcached缓存服务器
nginx+tomcat8+memcached session共享所需jar包 直接放到tomcat/lib下即可
d start 启动memcached服务 d restart 重起memcached服务 d stop|shutdown 关闭正在运行的memcached服务 d install 安装memcached服务 d uninstall 卸载memcached服务 u 以的身份运行 仅在以root运行的时候...
NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。 4.下载php_memcache.dll,请自己查找对应的php版本的文件 5. 在C:\winnt\php.ini 加入一行 ‘extension=...
java连接memcached服务的jar
j2ee项目使用filter和memcached实现session服务器
memcached 分布式缓存服务器,windows版
memcached缓存服务器 ,64位安装包 ,内有简单的使用说明
-d start 启动memcached服务 -d restart 重起memcached服务 -d stop|shutdown 关闭正在运行的memcached服务 -d install 安装memcached服务 -d uninstall 卸载memcached服务 -u 以的身份运行 (仅在以root运行的时候...
MPPS-Memcached协议代理服务器历史
在Linux上安装Memcached服务.doc
memcached缓存服务器,解压后即可使用,无需安装, 版本:1.2.1
memcached, libevent, MemCachedClient
memcached 64位 window memcached 64位 window memcached 64位 window