最近在Linux version 2.6.18-194.el5 (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) 下编译安装gearman 遇到了一系列的错误,搞得很痛苦。先终于搞定,记录下来,希望对别人有帮助。
1、 gearman 简介
Gearman是一个分发任务的程序框架,可以用在各种场合,与Hadoop相比,Gearman更偏向于任务分发功能。它的 任务分布非常 简单,简单得可以只需要用脚本即可完成。Gearman最初用于LiveJournal的图片resize功能,由于图片resize需要消耗大量计算资 源,因此需要调度到后端多台服务器执行,完成任务之后返回前端再呈现到界面。
Gearman 分布式任务实现原理上只用到2个字段,function name和data。function name即任务名称,由client传给job server, job server根据function name选择合适的worker节点来执行。data通常为执行任务所需的自定义的内容,比如简单的做法可以把需要执行的脚本当成data即可(当然要注 意其中的安全防范)。如果有多个worker可以处理同一个function name, 则job server会自动分配一个。当用于远程监控场景时,我们可以让每个worker注册成不同的业务名称,以达到方便控制每台worker节点的目的。
2、gearman 安装
a、libevent 的安装
到http://libevent.org/ 官网下载最新的版本,我下载的是最新的版本。
wget "https://github.com/downloads/libevent/libevent/libevent-2.0.19-stable.tar.gz"
tar -zxvf libevent-2.0.19-stable.tar.gz
cd libevent-2.0.19-stable
./configure --prefix=/usr
make && make install
/sbin/ldconfig
b、gearman 的安装
wget "https://launchpad.net/gearmand/trunck/0.9/+download/gearmand-0.9.tar.gz "
tar -zxvf gearmand-0.9.tar.gz
cd gearmand-0.9
./configure
make
make install
|