Chinaunix首页 | 论坛 | 博客
  • 博客访问: 167844
  • 博文数量: 51
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 471
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-11 10:24
文章分类

全部博文(51)

文章存档

2018年(3)

2017年(22)

2016年(9)

2015年(17)

我的朋友

分类: 系统运维

2017-11-09 17:34:00

没有不能重启的memcached

一.架构的部署

Client

|

Magent (ip 10.10.1.1:12000)

|

| (ip 10.10.1.2:11211) Normal Servers Farm Backup Servers Farm (ip 10.10.1.3:11211)

二.安装

1.在magent需要安装的包 libevent-1.4 memcached magent 2.在master和backup需要安装的包 libevent-1.4 memcached

三.安装步骤

  1. 在magent 安装libevent-1.4.13-stable.tar.gz

 

#./configure --prefix=/usr #make && make install

安装memcached-1.4.0.tar.gz

 

#./configure --with-libevent=/usr #make && make install

安装magent-0.5.tar.gz

#make #cp magent /usr/local/bin

2.在master

安装libevent-1.4

#./configure --prefix=/usr/local/libevent #make && make install

安装memcached

 

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

3.在backup

#./configure --prefix=/usr/local/libevent #make && make install

安装memcached

 

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

四.使用

1.在master操作

 

#./memcached -d -m 128 -u root -l 10.10.1.2 -p 11211 -P /tmp/memcached.pid #netstart -ntlp 会出现

 

说明启动成功

2.在backup操作

#./memcached -d -m 128 -u root -l 10.10.1.3 -p 11211 -P /tmp/memcached.pid #netstart -ntlp 会出现

说明启动成功 3.在magent操作

#/usr/local/bin/magent -u root -n 51200 -l 10.10.1.1 -p 12000 -s 10.10.1.2:11211 -b 10.10.1.3:11211 -u root:以root用户启动 -n 51200:并发数51200 -l 10.10.1.1:监听的IP是10.10.1.1 -p 12000:端口是 12000 -s 10.10.1.2:10.10.1.2是正在运行的memcached -b 10.10.1.3:10.10.1.3是备份的memcached

实现目的:当10.10.1.2的memcached挂掉的时候接到12000端口的magent取数据,数据会从10.10.1.3的memcached读取缺点:就是当10.10.1.2复活后,magent读取数据就会自动的切换回10.10.1.2,而这时10.10.1.2的memcached没有数据。解决方案:不要在rclocal里面启动memcached,当主cached挂掉后,手工重启magent,颠倒主备的身份,

五.安装中常遇到的问题错误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

错误2:各种找不到libevent。需要手工ln -s

OK magent就算搭建好了。这个时候memcached就很happy的运行了,不过magent成了单点。没关系,keepalived 就是了。

阅读(2883) | 评论(0) | 转发(0) |
0

上一篇:RPM SPEC 说明

下一篇:hadoop客户端部署

给主人留下些什么吧!~~