安装学习: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的使用并不规范的情况下,可以完全透明的集群,不用改应用代码,另外就是有备份机的机制,目前测试功能是通过了,有待生产环境验证。
相关推荐
4. **驱动恢复**:如果安装了错误的驱动导致系统问题,驱动精灵可以恢复到之前备份的状态,减少因驱动问题引发的系统不稳定情况。 5. **硬件信息查询**:除了驱动管理,驱动精灵还可以提供详细的硬件信息,包括CPU...
4. **解决依赖错误**: - `configure error: zlib-headers and/or libs where not found`: 当出现这个错误时,需要安装`zlib-devel`。 - `yum -y install zlib-*` - `configure error: bzip2-headers and/or libs...
- **配置错误**: 在配置文件或系统设置中可能存在某些配置未正确设置,特别是与 WBS 相关的配置。 - **数据格式问题**: 提供给系统的 WBS 数据格式可能存在错误,导致系统无法解析。 #### 解决策略 1. **检查权限...
常见问题及解决方案 - **连接问题**:如果遇到无法建立连接的情况,请检查TBB-2线缆是否完好无损,并确保全站仪和计算机均处于正常工作状态。 - **数据损坏**:传输过程中如果出现数据损坏现象,建议重新启动全站仪...
- 该子层主要负责解决多个设备共享同一物理信道的问题。 4. **FCS 计算**(第 8.5 节): - 介绍了循环冗余校验 (CRC) 的计算方法。 - 用于检测数据传输过程中的错误。 #### 七、COSEM 应用层 1. **COSEM 应用...
1. **下载和安装**:可以从Microsoft官方网站下载适合的JDBC驱动版本,如sqljdbc_2.0或sqljdbc_3.0。解压后,将对应的jar文件(如sqljdbc_auth.dll和mssql-jdbc.jar)添加到Java项目的类路径中。 2. **建立连接**:...
小程序是一种轻量级的应用形式,它无需下载安装即可使用,广泛应用于移动设备上。微信、支付宝、百度、QQ等平台都支持各自的小程序生态系统。由于其便捷性和快速触达用户的能力,小程序在近年来备受开发者和企业的...
2. **错误修复**:此版本包含了多个错误修复,提高了工具的稳定性和可靠性,解决了用户在前一版本中遇到的问题。 3. **API更新**:可能包含新的API或者对现有API的改进,以增强开发者体验和灵活性。 4. **兼容性...
- WDM(Windows Driver Model):适用于Windows 2000及后续版本,它允许用户模式驱动与内核模式驱动协同工作。 - Filter驱动:用户模式下,可以开发Filter驱动来拦截和修改I/O请求,例如文件系统Filter驱动可以...
SSIS(SQL Server Integration Services)是Microsoft SQL Server提供的数据...掌握时间戳的使用、VB代码的编写、脚本任务的配置、包参数的设置以及数据流和控制流的设计,对于实现高效的数据集成解决方案至关重要。
在电梯安装和维护过程中,接线正确性至关重要,任何错误的接线都可能导致设备损坏或者安全隐患。因此,所有接线工作都需要经过专业人员的审核,确保符合电气工程的标准和规定。 最后,富士电梯有限公司作为上海的...
9. **安装和集成**: 用户需要知道如何正确安装和配置这个中文包,以便在他们的开发环境中使用。 10. **持续更新**: 软件和其本地化资源通常会定期更新以修复错误、添加新特性,用户需要关注更新信息以保持其环境的...
"ios-HWCalendar.zip" 提供了一个解决方案,它是一个专为iOS平台设计的自定义日历组件,可以方便开发者集成到自己的应用中,提供更灵活的日历显示和交互功能。 该组件的关键特性在于其可配置性,允许开发者根据应用...
针对STM32F103系列,ST官方提供了专门的电机控制软件库,该软件库主要包含交流感应电机(AC Induction Motor,简称ACIM)和永磁同步电机(Permanent Magnet Synchronous Motor,简称PMSM)的控制库。 描述所指的...
【UM4092】ST电机控制库详解中英文2.0和英文1.0.zip这个压缩包聚焦于ST Microelectronics(意法半导体)提供的电机控制库,特别针对FOC(Field-Oriented Control,磁场定向控制)技术在PMSM(Permanent Magnet ...