`
上海-沉默者
  • 浏览: 37496 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

magent+memcached 配置问题详解

 
阅读更多

一.软件下载

wget http://memcached.googlecode.com/files/memcached-1.4.13.tar.gz

wget http://memagent.googlecode.com/files/magent-0.6.tar.gz

wget http://monkey.org/~provos/libevent-1.4.9-stable.tar.gz

二。安装libevent-1.4.9-stable.tar.gz

tar zxvf libevent-2.0.13-stable.tar.gz 

cd libevent-2.0.13-stable

./configure --with-libevent=/usr

make

make install

三。安装memcacd

tar zxvf memcached-1.4.13.tar.gz 

cd memcached-1.4.13

./configure --with-libevent=/usr

make

make install

四。安装magent

tar zxvf magent-0.6.tar.gz 

root@localhost ~]# cd /usr/tools/magent/
[root@localhost magent]# ls
ketama.c  ketama.h  magent-0.5.tar.gz  magent.c  Makefile
[root@localhost magent]# /sbin/ldconfig 
[root@localhost magent]# sed -i "s#LIBS = -levent#LIBS = -levent -lm#g" Makefile 
[root@localhost magent]# make

 

 

报错1:

gcc -Wall -g -O2 -I/usr/local/include -m64 -c -o magent.o magent.c

magent.c: In function 'writev_list':

magent.c:729: error: 'SSIZE_MAX' undeclared (first use in this function)

magent.c:729: error: (Each undeclared identifier is reported only once

magent.c:729: error: for each function it appears in.)

make: *** [magent.o] Error 1

 

解决办法:

[root@centos6 memcached]# vi ketama.h 

#在开头加入

#ifndef SSIZE_MAX

#define SSIZE_MAX      32767

#endif

 

继续make

 

报错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 

gcc: /usr/lib64/libevent.a: No such file or directory

gcc: /usr/lib64/libm.a: No such file or directory

 

 

解决办法:

[root@centos6 memcached]# ln -s /usr/lib/libevent*  /usr/lib64/

[root@centos6 memcached]# make

 

报错3:

gcc -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: No such file or directory

make: *** [magent] Error 1

 

解决办法:

yum install glibc glibc-devel

如果是64bit的系统则不会在/usr/lib64/libm.a 生成,如果是32bit即会有。

 

[root@centos6 memcached]# cp /usr/lib64/libm.so /usr/lib64/libm.a

 

 

继续make

 

报错4:

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 `detect_monotonic':

event.c:(.text+0xc79): undefined reference to `clock_gettime'

/usr/lib64/libevent.a(event.o): In function `gettime':

event.c:(.text+0xd60): undefined reference to `clock_gettime'

collect2: ld returned 1 exit status

make: *** [magent] Error 1

 

 

解决办法:

[root@centos6 memcached]# vi Makefile 

CFLAGS = -Wall -g -O2 -I/usr/local/include $(M64)

改为:    

CFLAGS = -lrt -Wall -g -O2 -I/usr/local/include $(M64)

 

 

 

[root@centos6 memcached]# make

gcc -Wall -g -O2 -I/usr/local/include -m64 -o magent magent.o ketama.o -lrt /usr/lib64/libevent.a /usr/lib64/libm.a 

[root@centos6 memcached]# ls                                                                                             成功

Makefile  ketama.c  ketama.h  ketama.o  magent  magent-0.6.tar.gz  magent.c  magent.o

[root@centos6 memcached]# cp magent /usr/bin/

 

 

/usr/local/bin/memcached -d -m 4024 -u root -p 11212 -c 4024 -P /tmp/memcached2.pid
/usr/local/bin/memcached -d -m 4024 -u root -p 11213 -c 4024 -P /tmp/memcached3.pid
/usr/local/bin/memcached -d -m 4024 -u root -p 11214 -c 4024 -P /tmp/memcached4.pid

magent -u root -n 51200 -l 127.0.0.1 -p 11211 -s 127.0.0.1:11212 -s 127.0.0.1:11213 -b 127.0.0.1:11214

-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是1024MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,
-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid


如果要结束Memcache进程,执行:
# kill `cat /tmp/memcached.pid`

测试Memcached:
[root@localhost /]# telnet 192.168.141.64 12000
Trying 192.168.141.64...
Connected to 192.168.141.64 (192.168.141.64).
Escape character is '^]'.
set key1 0 60 4
zhou
STORED
get key1
VALUE key1 0 4
zhou
END

分享到:
评论

相关推荐

    libevent+memc+magent+repacached.zip

    标题中的"libevent+memcached+magent+repacached.zip"是一个组合了多个软件和工具的压缩包,用于搭建一个基于Memcached的集群环境。这个压缩包包含了以下关键组件: 1. **Libevent**:这是一个事件通知库,主要用于...

    memcached安装软件 libevent magent memcached

    本篇文章将详细讲解如何安装和配置memcached,以及与之相关的libevent和magent。 首先,我们需要了解libevent库。libevent是一个事件通知库,它允许程序处理多个网络连接,并有效地处理来自不同源的事件。在安装...

    magent memcached缓存代理服务器

    当我们谈论"Magent Memcached缓存代理服务器"时,这意味着我们将在Magento环境中集成和配置Memcached作为缓存解决方案。 首先,让我们详细了解Memcached。Memcached是一种基于内存的键值存储,它通过将经常访问的...

    memcached-1.4.22.tar.gz,magent6,memadmin

    【标题】"memcached-1.4.22.tar.gz, magent6, memadmin" 涉及到的主要知识点是分布式缓存系统memcached及其相关的管理工具magent6和memadmin。 【memcached】 Memcached是一款高性能、分布式内存对象缓存系统,常...

    Memcached 服务器集群安装配置和测试

    小结:Memcached 服务器集群的安装配置和测试是一个复杂的过程,需要安装和配置多个组件,包括 libevent、Memcached 和 magent。在配置防火墙和启动服务时,需要注意防火墙的设置和服务的参数。最后,需要验证服务...

    linux下安装jdk与memcached及memcached代理说明

    在Linux环境下,安装Java Development Kit (JDK)、Memcached以及Magent的步骤如下: **JDK安装:** 1. **下载JDK**: 首先,你需要从Oracle官方网站或者其他可信赖的源下载适合Linux环境的JDK安装包,这里以`jdk-1_5...

    magent-0.5

    描述中提到“大数据量缓存应用--memcached+magent”,表明Magent可能与Memcached一起工作,形成一个复合缓存架构。Memcached是一款流行的分布式内存对象缓存系统,广泛应用于Web应用程序中,可以减轻数据库负载,...

    magent-0.6.tar.gz

    magent-0.6 版本可能是解决这个问题的一种解决方案,通过提供集群支持来实现高可用性和容错性,确保即使单个 Memcached 节点出现问题,服务也能继续运行。 【标签】"magent-0.6" 是这个软件的标识符,便于用户搜索...

    memcached-1.5.9

    **memcached详解** 1. **工作原理**:Memcached基于键值对存储,将数据存储在内存中,通过TCP或UDP协议提供服务。当客户端请求数据时,如果缓存中有该数据,就直接返回,避免了数据库查询的耗时过程。 2. **分布式...

    magent-0.5-修正版

    magent是一款开源的Memcached代理服务器软件,其项目网址为:http://code.google.com/p/memagent/ 安装完后显示版本为0.4,如下: [root@localhost /]# magent please provide -s "ip:port" argument memcached ...

    magent-0.5.tar.gz

    描述中提到“magent”是一个“memcached负载均衡代理”,这意味着它充当了客户端与memcached服务器之间的中间层。memcached是一种广泛使用的分布式内存对象缓存系统,常用于减轻数据库负载,提高Web应用性能。magent...

    magent-0.6-修正版

    magent是一款开源的Memcached代理服务器软件,其项目网址为:http://code.google.com/p/memagent/ 安装完后显示版本为0.6,如下: [root@localhost /]# magent please provide -s "ip:port" argument memcached ...

    memcached整合进hibernate4的资源包

    hibernate使用memcached作为二级缓存所需要的资源包,包括memcached的windows安装文件、hibernate3和hibernate4整合memcached的jar包 文件目录:commons-codec-1.10.jar、hibernate3-memcached-1.5.jar、hibernate4-...

    Memcached Redis MongoDB对比

    Memcached的内存管理相对灵活,可以通过工具如magent构建集群,增加可用内存。MongoDB适合存储大量数据,但是其对内存的需求较大,建议单独为其分配资源。 可用性(单点问题): Redis通过客户端实现分布式读写,...

    magent-0.6.tar

    magent-.06.tar

    nginx配置文件-magent

    在本文中,我们将深入探讨“nginx配置文件-magent”这个主题,了解Nginx配置的基本结构、主要配置指令以及如何针对Magento电子商务平台进行定制化配置。 1. Nginx配置文件结构: Nginx的配置文件通常位于`/etc/...

    memcache集群代理软件 magent-0.5.tar.gz

    当需要增加或者减少Memcache节点时,只需要在Magent配置中进行相应的调整,客户端将继续无感知地工作。此外,由于Magent支持Ketama一致性哈希,因此即使有节点变化,大部分键值对仍能定位到原来的服务器,减少了不必...

    Python-MAgent一个多Agent的强化学习平台

    Python-MAgent是一个强大的多...通过阅读文档和运行示例,你可以快速了解如何设置环境、定义Agent、配置学习算法以及进行训练和评估。这将帮助你开始自己的多Agent强化学习研究之旅,探索复杂系统中智能行为的奥秘。

Global site tag (gtag.js) - Google Analytics