分布式持久化消息队列memcacheq的安装部署
2013-02-19 22:32
543 查看
文章转载自:/article/4637808.html
1、安装前准备工作
要安装memcacheq,需要先安装libevent和BerkeleyDB
a、安装libevent
wget --no-check-certificate https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar zxvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure
make
make install
b、安装BerkeleyDB
wget http://download.oracle.com/otn/berkeley-db/db-5.3.21.tar.gz
tar zxvf db-5.3.21.tar.gz
cd db-5.3.21
cd build_unix
../dist/configure
make
make install
在/etc/ld.so.conf里加入下面两行
/usr/local/lib
/usr/local/BerkeleyDB.5.3/lib
运行ldconfig
2、安装memcacheq
wget http://memcacheq.googlecode.com/files/memcacheq-0.2.0.tar.gz
tar zxvf memcacheq-0.2.0.tar.gz
cd memcacheq-0.2.0
./configure --enable-threads --with-libevent=/usr/local --with-bdb=/usr/local/BerkeleyDB.5.3
make
make install
3、配置memcacheq
install -d -o nobody -g nobody /data/memcacheq
memcacheq -d -r -u nobody -H /data/memcacheq -N -R -v -L 1024 -B 1024 &> /var/log/mq_error.log
查看监听端口
[root@vm3 ~]# netstat -ntupl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local AddressForeign AddressState
PID/Program name
tcp 00:::22:::*LISTEN3162/sshd
tcp 00:::22201:::*LISTEN25375/memcacheq
udp 000.0.0.0:222010.0.0.0:*25375/memcacheq
4、使用
a、使用php语言的memcache扩展作为客户端测试
本例使用的是php源码编译安装
安装php扩展memcache
wget http://pecl.php.net/get/memcache-2.2.7.tgz
tar zxvf memcache-2.2.7.tgz
cd memcache-2.2.7
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
在/usr/local/php/lib/php.ini里编辑或添加如下两行
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"
extension=memcache.so
重启php-fpm
service php-fpm restart
验证memcache扩展是否加载
ok,加载成功
编写php测试文件:
<?php
$m = new memcache();
$m->connect('192.168.18.240',22201);
$m->set('mailq','zhangsan');
$m->set('mailq','lisi');
$m->set('mailq','wangwu');
print '------push bellow into mailq queue------<br>';
print 'zhangsan<br>';
print 'lisi<br>';
print 'wangwu<br>';
print '------get mailq from mailq queue------<br>';
print 'first:'.$m->get('mailq').'<br>';
print 'second:'.$m->get('mailq').'<br>';
print 'third:'.$m->get('mailq').'<br>';
print 'fourth:'.$m->get('mailq');
$m->close();
下面是上面php代码运行结果:
------push bellow into mailq queue------
zhangsan
lisi
wangwu
------get mailq from mailq queue------
first:zhangsan
second:lisi
third:wangwu
fourth:
可以发现,我们先存入的将先取出,符合先进先出原则 FIFO
b、使用telnet作为客户端测试
telnet 192.168.18.240 22201
Trying 192.168.18.240...
Connected to localhost (192.168.18.240).
Escape character is '^]'.
只有2个命令用来操作队列:
set
get
命令语法:
添加一个消息到队列末尾
set <queue name> <flags> 0 <message_len>\r\n
<put your message body here>\r\n
STORED\r\n
注意:如果你的队列不存在,MQ将自动创建一个新队列。原来的'expire time'字段被服务器忽略。
从队列头部取一个消息
get <queue name>\r\n
VALUE <queue name> <flags> <message_len>\r\n
<your message body will come here>\r\n
END\r\n
set例子:
set mailq 0 0 8
zhangsan
STORED
set mailq 0 0 4
lisi
STORED
set mailq 0 0 6
wangwu
STORED
get例子:
get mailq
VALUE mailq 0 8
zhangsan
END
使用'stats queue'查看你的当前队列:
stats queue
STAT mailq 3/1
END
删除一个队列:
delete mailq
DELETED
使用db_stat命令查看一个队列有多少记录:
/usr/local/BerkeleyDB.5.3/bin/db_stat -d mailq
Fri Feb 8 01:26:29 2013 Local time
42253 Queue magic number
4 Queue version number
1024 Fixed-length record size
0x20 Fixed-length record pad
4096 Underlying database page size
16384 Underlying database extent size
2 Number of records in the database
2 Number of data items in the database
1 Number of database pages
1024 Number of bytes free in database pages (75% ff)
2 First undeleted record
4 Next available record number
部署完毕。
1、安装前准备工作
要安装memcacheq,需要先安装libevent和BerkeleyDB
a、安装libevent
wget --no-check-certificate https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar zxvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure
make
make install
b、安装BerkeleyDB
wget http://download.oracle.com/otn/berkeley-db/db-5.3.21.tar.gz
tar zxvf db-5.3.21.tar.gz
cd db-5.3.21
cd build_unix
../dist/configure
make
make install
在/etc/ld.so.conf里加入下面两行
/usr/local/lib
/usr/local/BerkeleyDB.5.3/lib
运行ldconfig
2、安装memcacheq
wget http://memcacheq.googlecode.com/files/memcacheq-0.2.0.tar.gz
tar zxvf memcacheq-0.2.0.tar.gz
cd memcacheq-0.2.0
./configure --enable-threads --with-libevent=/usr/local --with-bdb=/usr/local/BerkeleyDB.5.3
make
make install
3、配置memcacheq
install -d -o nobody -g nobody /data/memcacheq
memcacheq -d -r -u nobody -H /data/memcacheq -N -R -v -L 1024 -B 1024 &> /var/log/mq_error.log
查看监听端口
[root@vm3 ~]# netstat -ntupl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local AddressForeign AddressState
PID/Program name
tcp 00:::22:::*LISTEN3162/sshd
tcp 00:::22201:::*LISTEN25375/memcacheq
udp 000.0.0.0:222010.0.0.0:*25375/memcacheq
4、使用
a、使用php语言的memcache扩展作为客户端测试
本例使用的是php源码编译安装
安装php扩展memcache
wget http://pecl.php.net/get/memcache-2.2.7.tgz
tar zxvf memcache-2.2.7.tgz
cd memcache-2.2.7
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
在/usr/local/php/lib/php.ini里编辑或添加如下两行
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"
extension=memcache.so
重启php-fpm
service php-fpm restart
验证memcache扩展是否加载
ok,加载成功
编写php测试文件:
<?php
$m = new memcache();
$m->connect('192.168.18.240',22201);
$m->set('mailq','zhangsan');
$m->set('mailq','lisi');
$m->set('mailq','wangwu');
print '------push bellow into mailq queue------<br>';
print 'zhangsan<br>';
print 'lisi<br>';
print 'wangwu<br>';
print '------get mailq from mailq queue------<br>';
print 'first:'.$m->get('mailq').'<br>';
print 'second:'.$m->get('mailq').'<br>';
print 'third:'.$m->get('mailq').'<br>';
print 'fourth:'.$m->get('mailq');
$m->close();
下面是上面php代码运行结果:
------push bellow into mailq queue------
zhangsan
lisi
wangwu
------get mailq from mailq queue------
first:zhangsan
second:lisi
third:wangwu
fourth:
可以发现,我们先存入的将先取出,符合先进先出原则 FIFO
b、使用telnet作为客户端测试
telnet 192.168.18.240 22201
Trying 192.168.18.240...
Connected to localhost (192.168.18.240).
Escape character is '^]'.
只有2个命令用来操作队列:
set
get
命令语法:
添加一个消息到队列末尾
set <queue name> <flags> 0 <message_len>\r\n
<put your message body here>\r\n
STORED\r\n
注意:如果你的队列不存在,MQ将自动创建一个新队列。原来的'expire time'字段被服务器忽略。
从队列头部取一个消息
get <queue name>\r\n
VALUE <queue name> <flags> <message_len>\r\n
<your message body will come here>\r\n
END\r\n
set例子:
set mailq 0 0 8
zhangsan
STORED
set mailq 0 0 4
lisi
STORED
set mailq 0 0 6
wangwu
STORED
get例子:
get mailq
VALUE mailq 0 8
zhangsan
END
使用'stats queue'查看你的当前队列:
stats queue
STAT mailq 3/1
END
删除一个队列:
delete mailq
DELETED
使用db_stat命令查看一个队列有多少记录:
/usr/local/BerkeleyDB.5.3/bin/db_stat -d mailq
Fri Feb 8 01:26:29 2013 Local time
42253 Queue magic number
4 Queue version number
1024 Fixed-length record size
0x20 Fixed-length record pad
4096 Underlying database page size
16384 Underlying database extent size
2 Number of records in the database
2 Number of data items in the database
1 Number of database pages
1024 Number of bytes free in database pages (75% ff)
2 First undeleted record
4 Next available record number
部署完毕。
相关文章推荐
- 持久化消息队列memcacheq的安装配置
- 持久化消息队列memcacheq的安装配置
- 持久化消息队列memcacheq的安装配置
- 持久化消息队列memcacheq的安装配置
- 分布式消息队列RocketMQ部署
- 消息队列_RabbitMQ-0001.RabbitMQ消息代理/队列服务器快速安装部署?
- memcacheq安装与消息队列
- 分布式消息队列RocketMQ部署与监控
- Apache Kafka 分布式消息队列中间件安装与配置
- DotNetMQ-基于C#和.NET框架的开源消息队列系统 – 安装部署及消息发送接收范例
- 分布式消息队列RocketMQ部署与监控
- 分布式消息队列Kafka集群安装
- Apache Kafka 分布式消息队列中间件安装与配置
- (原创)Rocketmq分布式消息队列的部署与监控
- 分布式消息队列Kafka集群安装
- Memcache 持久化消息队列MemcacheQ
- 【转】持久化消息队列之MEMCACHEQ
- 分布式消息队列Kafka集群安装
- kafka分布式消息队列----安装篇