博客统计信息

用户名:pollybird
文章数:6
评论数:5
访问量:2805
无忧币:20
博客积分:68
博客等级:1
注册日期:2011-04-14

我的技术圈(1)

更多>>
Memcached的备份负载
2011-07-07 16:26:08
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://pollybird.blog.51cto.com/2976624/605559

一.架构的部署

                                Client 
                                   | 
                               Magent   ip 192.168.50.4
                                   | 
                       |--|--|-------------------|--|--|  
ip 192.168.50.7) Normal Servers Farm  Backup Servers Farm (ip 192.168.50.10)

二.安装

 1.192.168.50.4需要安装的包

 libevent-1.4.13-stable.tar.gz

 memcached-1.4.0.tar.gz

 magent-0.5.tar.gz

 2.192.168.50.7192.168.50.10需要安装的包

 libevent-1.4.13-stable.tar.gz

 memcached-1.4.0.tar.gz

三.安装步骤

 1. 192.168.50.4

  安装libevent-1.4.13-stable.tar.gz

   #cd  tarbag

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

   #tar -zxvf libevent-1.4.13-stable.tar.gz -C ../software

   #cd ../software/libevent-1.4.13-stable

   #./configure --prefix=/usr

   #make && make install

  安装memcached-1.4.0.tar.gz

   #cd  tarbag

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

   #tar -zxvf  memcached-1.4.0.tar.gz -C ../software

   #cd ../sfeware/memcached-1.4.0

   #./configure --with-libevent=/usr

   #make && make install

  安装magent-0.5.tar.gz

   #cd tarbag

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

   #cd ../software/magent

   #tar -zxvf magent-0.5.tar.gz -C ../software/magent

   #ldconfig

   #sed -i "s#LIBS = -levent#LIBS = -levent -lm#g" Makefile
   #make

   #cp  magent  /usr/local/bin

2.192.168.50.7

 安装libevent-1.4.13-stable.tar.gz

   #cd  tarbag

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

   #tar -zxvf libevent-1.4.13-stable.tar.gz -C ../software

   #cd ../software/libevent-1.4.13-stable

   #./configure --prefix=/usr/local/libevent 

   #make && make install

 安装memcached-1.4.0.tar.gz

   #cd  tarbag

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

   #tar -zxvf  memcached-1.4.0.tar.gz -C ../software

   #cd ../sfeware/memcached-1.4.0

   #./configure --prefix=/usr/local/memcached  --with-libevent=/usr/local/libevent

   #make && make install

3.192.168.50.10

  安装libevent-1.4.13-stable.tar.gz
   # wget http://monkey.org/~provos/libevent-1.4.13-stable.tar.gz

   #tar -zxvf libevent-1.4.13-stable.tar.gz -C ../software

   #cd ../software/libevent-1.4.13-stable

   #./configure --prefix=/usr/local/libevent

   #make && make install

  安装memcached-1.4.0.tar.gz

   #cd  tarbag

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

   #tar -zxvf  memcached-1.4.0.tar.gz -C ../software

   #cd ../sfeware/memcached-1.4.0

   #./configure --prefix=/usr/local/memcached  --with-libevent=/usr/local/libevent

   #make && make install

四.使用

 1.192.168.50.7操作

  #cd /usr/local/memcached-1.4.0

  #./memcached -d -m 128 -u root -l 192.168.50.7 -p 12000 -P /tmp/memcached.pid

  #netstart -ntlp 

  会出现

   

  说明启动成功

2.192.168.50.10操作

 #cd /usr/local/memcached-1.4.0

 #./memcached -d -m 128 -u root -l 192.168.50.10 -p 12000 -P /tmp/memcached.pid

 #netstart -ntlp 

 会出现

说明启动成功

3.192.168.50.4操作 

 #/usr/local/bin/magent -u root -n 51200 -l 192.168.50.4 -p 12000 -s 192.168.50.7:12000 -b   

 192.168.50.10:12000 

 -u  root:以root用户启动  

 -n  51200:并发数51200 

 -l 192.168.50.4:监听的IP192.168.50.4 

 -p 12000:端口是 12000 

 -s 192.168.50.7192.168.50.7是正在运行的memcached 

 -b 192.168.50.10192.168.50.10是备份的memcached

实现目的:192.168.50.7memcached挂掉的时候接到12000端口的magent取数据,数据会从192.168.50.10memcachedduqu

缺点:就是当192.168.50.7复活后,magent读取数据就会自动的切换回192.168.50.7,而这时192.168.50.7memcached没有数据。

五.安装中常遇到的问题

错误1

gcc -lrt -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

解决办法:

vim ketama.h

加入

#ifndef SSIZE_MAX

#define SSIZE_MAX     32767

#endif 

本文出自 “pollybird” 博客,请务必保留此出处http://pollybird.blog.51cto.com/2976624/605559

分享至
更多
一键收藏,随时查看,分享好友!
kjz49990635、姜周
2人
了这篇文章
类别:linux技术圈()┆阅读()┆评论() ┆ 推送到技术圈返回首页

文章评论

 
2012-02-07 18:23:19
very good,你太强大了,终于找到了
错误1:

gcc -lrt -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
的解决方法!

 

发表评论            

【技术门诊】专家解析:软考重点难点及应试技巧
昵  称:
登录  快速注册
验证码:

请点击后输入验证码博客过2级,无需填写验证码

内  容: