`

magent安装配置及错误解决

 
阅读更多

安装学习:http://zhumeng8337797.blog.163.com/blog/static/10076891420113431424757/

错误解决:http://ghostwolf.iteye.com/blog/774907

亲身操作

1. 上magent官网https://code.google.com/p/memagent/下载最新安装包,由于国内网络环境不稳定,在此上传一个供备用。写此blog时最新版 magent-0.6.tar.gz下载

2. 将包放到你要安装的目录,进入到该目录,执行以下安装命令(不要问博主这些命令的含义,因为博主也不知道)

 

[root@localhost magent]# tar zxvf magent-0.6.tar.gz 
[root@localhost magent]# /sbin/ldconfig
[root@localhost magent]# sed -i "s/LIBS = -levent/LIBS = -levent -lm/g" Makefile
[root@localhost magent]# make

#如遇到
gcc: /usr/lib64/libevent.a: No such file or directory
make: *** [magent] Error 1

#执行
[root@localhost magent]# ln -s /usr/lib/libevent.a /usr/lib64/libevent.a
[root@localhost magent]# make


#如遇到
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':
/root/libevent-2.0.21-stable/event.c:370: undefined reference to `clock_gettime'
/usr/lib64/libevent.a(event.o): In function `detect_monotonic':
/root/libevent-2.0.21-stable/event.c:340: undefined reference to `clock_gettime'
collect2: ld returned 1 exit status
make: *** [magent] Error 1

#执行
[root@localhost magent]# 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@localhost magent]# ./magent
#如出现版本及帮助信息则表示ok了
memcached agent v0.6 Build-Date: Jul 18 2014 10:25:12
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

 

 

3. 配置启动命令

    

[root@localhost magent]# ps -ef|grep memcached
yxt       3571     1  0 Jul17 ?        00:00:00 /usr/local/memcached/bin/memcached -d -m 1024 -l 192.168.56.101 -p 9006 -u root
yxt       3578     1  0 Jul17 ?        00:00:00 /usr/local/memcached/bin/memcached -d -m 1024 -l 192.168.56.101 -p 9007 -u root
yxt       3585     1  0 Jul17 ?        00:00:00 /usr/local/memcached/bin/memcached -d -m 1024 -l 192.168.56.101 -p 9008 -u root

[root@localhost magent]# ./magent -u root -n 51200 -l 192.168.56.101 -p 19001 -s 192.168.56.101:9006 -s 192.168.56.101:9007 -b 192.168.56.101:9008
#表示最大连接51200个,对外ip与端口192.168.56.101:19001,真实服务的memcached为9006和9007,9008是备份机

 

 

 4. 测试

   正常情况

---------------------------------- telnet 192.168.56.101 19001
set ok 0 0 5
12345
STORED
get ok
VALUE ok 0 5
12345
END

------------------------------------telnet 192.168.56.101 9006
get ok
END


------------------------------------telnet 192.168.56.101 9007
get ok
VALUE ok 0 5
12345
END

------------------------------------telnet 192.168.56.101 9008
get ok
VALUE ok 0 5
12345
END

 

 

 kill掉9006和9007服务进程后,测试是否会自动切到备机, 是否能读到数据,

[root@localhost magent]# ps -ef|grep memcached
yxt       3585     1  0 Jul17 ?        00:00:00 /usr/local/memcached/bin/memcached -d -m 1024 -l 192.168.56.101 -p 9008 -u root

#9006和9007断开后,进19001还可以取到数据
-------------------------------------telnet 192.168.56.101 19001
get ok
VALUE ok 0 5
12345
END

#直连9008,放入只有9008有的数据
-------------------------------------telnet 192.168.56.101 9008
set bakOk 0 0 5
backu
STORED

#再连19001负载入口,看是否可以取到只有9008的数据
-------------------------------------telnet 192.168.56.101 9006
get bakOk
VALUE bakOk 0 5
backu
END

 可以读到数据,表示自动切换到备机成功

 

   

6. 总结,其实memcached也可以在客户端很方便的配置多个进行负载均衡,但也可能要改客户端代码,而现在这种magent方式,应对应用中memcached的使用并不规范的情况下,可以完全透明的集群,不用改应用代码,另外就是有备份机的机制,目前测试功能是通过了,有待生产环境验证。

 

分享到:
评论

相关推荐

    驱动精灵2011

    4. **驱动恢复**:如果安装了错误的驱动导致系统问题,驱动精灵可以恢复到之前备份的状态,减少因驱动问题引发的系统不稳定情况。 5. **硬件信息查询**:除了驱动管理,驱动精灵还可以提供详细的硬件信息,包括CPU...

    lighttpd简单配置

    4. **解决依赖错误**: - `configure error: zlib-headers and/or libs where not found`: 当出现这个错误时,需要安装`zlib-devel`。 - `yum -y install zlib-*` - `configure error: bzip2-headers and/or libs...

    Gateway error 20190620.docx

    - **配置错误**: 在配置文件或系统设置中可能存在某些配置未正确设置,特别是与 WBS 相关的配置。 - **数据格式问题**: 提供给系统的 WBS 数据格式可能存在错误,导致系统无法解析。 #### 解决策略 1. **检查权限...

    TOPCON全站仪数据传输软件

    常见问题及解决方案 - **连接问题**:如果遇到无法建立连接的情况,请检查TBB-2线缆是否完好无损,并确保全站仪和计算机均处于正常工作状态。 - **数据损坏**:传输过程中如果出现数据损坏现象,建议重新启动全站仪...

    Excerpt_GB7

    - 该子层主要负责解决多个设备共享同一物理信道的问题。 4. **FCS 计算**(第 8.5 节): - 介绍了循环冗余校验 (CRC) 的计算方法。 - 用于检测数据传输过程中的错误。 #### 七、COSEM 应用层 1. **COSEM 应用...

    sqlserver 08 JDBC

    1. **下载和安装**:可以从Microsoft官方网站下载适合的JDBC驱动版本,如sqljdbc_2.0或sqljdbc_3.0。解压后,将对应的jar文件(如sqljdbc_auth.dll和mssql-jdbc.jar)添加到Java项目的类路径中。 2. **建立连接**:...

    【小程序精选源码】.ZIP

    小程序是一种轻量级的应用形式,它无需下载安装即可使用,广泛应用于移动设备上。微信、支付宝、百度、QQ等平台都支持各自的小程序生态系统。由于其便捷性和快速触达用户的能力,小程序在近年来备受开发者和企业的...

    sbt-0.13.17

    2. **错误修复**:此版本包含了多个错误修复,提高了工具的稳定性和可靠性,解决了用户在前一版本中遇到的问题。 3. **API更新**:可能包含新的API或者对现有API的改进,以增强开发者体验和灵活性。 4. **兼容性...

    windows 2000 xp 驱动开发源代码

    - WDM(Windows Driver Model):适用于Windows 2000及后续版本,它允许用户模式驱动与内核模式驱动协同工作。 - Filter驱动:用户模式下,可以开发Filter驱动来拦截和修改I/O请求,例如文件系统Filter驱动可以...

    SSIS使用手册

    SSIS(SQL Server Integration Services)是Microsoft SQL Server提供的数据...掌握时间戳的使用、VB代码的编写、脚本任务的配置、包参数的设置以及数据流和控制流的设计,对于实现高效的数据集成解决方案至关重要。

    富士7000新时达S8一体机图纸 2017-08-29 .pdf

    在电梯安装和维护过程中,接线正确性至关重要,任何错误的接线都可能导致设备损坏或者安全隐患。因此,所有接线工作都需要经过专业人员的审核,确保符合电气工程的标准和规定。 最后,富士电梯有限公司作为上海的...

    nop19中文包nop19中文包nop19中文包nop19中文包

    9. **安装和集成**: 用户需要知道如何正确安装和配置这个中文包,以便在他们的开发环境中使用。 10. **持续更新**: 软件和其本地化资源通常会定期更新以修复错误、添加新特性,用户需要关注更新信息以保持其环境的...

    ios-HWCalendar.zip

    "ios-HWCalendar.zip" 提供了一个解决方案,它是一个专为iOS平台设计的自定义日历组件,可以方便开发者集成到自己的应用中,提供更灵活的日历显示和交互功能。 该组件的关键特性在于其可配置性,允许开发者根据应用...

    motor control lib for STM32F103

    针对STM32F103系列,ST官方提供了专门的电机控制软件库,该软件库主要包含交流感应电机(AC Induction Motor,简称ACIM)和永磁同步电机(Permanent Magnet Synchronous Motor,简称PMSM)的控制库。 描述所指的...

    [UM4092]ST电机控制库详解中英文2.0和英文1.0.zip

    【UM4092】ST电机控制库详解中英文2.0和英文1.0.zip这个压缩包聚焦于ST Microelectronics(意法半导体)提供的电机控制库,特别针对FOC(Field-Oriented Control,磁场定向控制)技术在PMSM(Permanent Magnet ...

Global site tag (gtag.js) - Google Analytics