activemq主备文件共享安装配置(NFSV4)

activemq主备文件共享安装配置(NFSV4)
activemq主备文件共享安装配置(NFSV4)

简介 (2)

概述 (2)

硬件环境说明 (2)

软件环境说明 (2)

安装步骤 (3)

安装 (3)

环境配置 (3)

主从配置 (3)

启动MQ (5)

验证 (5)

停止 (6)

NFS4安装与配置 (7)

背景要求 (7)

NFS安装 (7)

配置共享 (8)

检验手段 (8)

简介

概述

本文档是辅助个人学习与部署基于文件共享方式AcitveMQ主备配置与测试。

硬件环境说明

内存:>1Gb

CPU:>1GHz

硬盘:>8G

软件环境说明

软件名称备注

CentOS 6.2 x64

jdk-7u17-linux-x64.tar.gz

apache-activemq-5.8.0-bin.tar.gz

apache-ant-1.9.0-bin.tar.gz

安装步骤

安装

CentOS 6.2安装选择BasicServer模式,其他全部默认

tar –xzvf jdk-7u17-linux-x64.tar.gz -C /usr/java

tar –xzvf apache-activemq-5.8.0-bin.tar.gz -C /usr/local

tar –xzvf apache-ant-1.9.0-bin.tar.gz -C /usr/local

环境配置

/etc/profile尾部追加以下配置

ACTIVEMQ_HOME=/usr/local/apache-activemq-5.8.0

ANT_HOME=/usr/local/apache-ant-1.9.0

JA V A_HOME=/usr/java/jdk1.7.0_17

export ACTIVEMQ_HOME

export ANT_HOME

export JA V A_HOME

export PA TH=$ACTIVEMQ_HOME/bin:$JA V A_HOME/bin:$ANT_HOME/bin:$PA TH 主从配置

1、配置统一KahaDB文件目录

主服务器$ACTIVEMQ_HOME/conf/activem q.xml

……

……

……

从服务器$ACTIVEMQ_HOME/conf/activem q.xml

……

……

……

……

注释掉amqp协议,才可启动。

2、配置ActiveMQ官方样例为可持久化,及写入到上面配置的KahaDB目录中;

主从服务器$ACTIVEMQ_HOME/example/build.xml

……

……

启动MQ

分别在主从服务器,先后运行以下命令

$ACTIVEMQ_HOME/bin/activemq start

tail -f $ACTIVEMQ_HOME/data/activemq.log

主服务器,抢到文件锁的ActiveMq运行结果如下:

从服务器,没有抢到文件锁的ActiveMq运行结果如下:

验证

1、主服务正常:

主或从服务器运行官方测试样例备注

生产者cd $ACTIVEMQ_HOME/example

ant producer -Durl=tcp://master_server_ip:61616 -Dsubject= TEST.FOO -Dmax=2345

消费者cd $ACTIVEMQ_HOME/example

ant consumer -Durl=tcp://master_server_ip:61616 -Dsubject=TEST.FOO -Dmax=1111

实时数据结果可以通过http://master_server_ip:8161/admin/queues.jsp访问到,用户名/密码(admin/admin)。

2、主服务异常:

主或从服务器运行官方测试样例备注$ACTIVEMQ_HOME/bin/activemq stop 杀掉主

生产者cd $ACTIVEMQ_HOME/example

ant producer -Durl=tcp://slave_server_ip:61616 -Dsubject= TEST.FOO -Dmax=1234

消费者cd $ACTIVEMQ_HOME/example

ant consumer -Durl=tcp://slave_server_ip:61616 -Dsubject=TEST.FOO -Dmax=777

实时数据结果可以通过http://salve_server_ip:8161/admin/queues.jsp访问到,用户名/密码(admin/admin)。

可以在至少保证其中一台是可运行的情况下,杀掉或者启动主或备服务器,跑样例测试,以检验数据是否有正常同步加载。

停止

分别在主从服务器,先后运行以下命令

$ACTIVEMQ_HOME/bin/activemq stop

NFS4安装与配置

背景要求

官方文档:https://www.360docs.net/doc/2910846434.html,/shared-file-system-master-slave.html

Shared File System Master Slave

NFSv3 Warning

In the event of an abnormal NFSv3 client termination (i.e., the ActiveMQ master broker), the NFSv3 server will not timeout the lock that is held by that client. This effectively renders the ActiveMQ data directory inaccessible because the ActiveMQ slave broker can't acquire the lock and therefore cannot start up. The only solution to this predicament with NFSv3 is to reboot all ActiveMQ instances to reset everything.

Use of NFSv4 is another solution because it's design includes timeouts for locks. When using NFSv4 and the client holding the lock experiences an abnormal termination, by design, the lock is released after 30 seconds, allowing another client to grab the lock. For more information about this, see this blog entry.

中文可以参见这里:https://www.360docs.net/doc/2910846434.html,/walterfan/item/ad2346b5772172432bebe345

另外,文中的那篇博客已经没有了,如果真的那么想看,这里可以凑合:

https://www.360docs.net/doc/2910846434.html,/web/20090419134256/https://www.360docs.net/doc/2910846434.html,/eislers_nfs_blog/2008/07/pa rt-i-since-nf.html

NFS安装

参考:https://www.360docs.net/doc/2910846434.html,/computing/debian/servers/setting-up-nfs4.jspx https://www.360docs.net/doc/2910846434.html,/913.html

1、实际BasicServer中已经有以下服务:

NFS服务器,运行以下命令

yum install rpcbind nfs-utils.x86_64 nfs4-acl-tools.x86_64

注:1、CentOS 6.x使用rpcbind代替了portmap

2、32位CentOS,安装nfs,使用

nfs-utils代替上面命令参数中的nfs-utils.x86_64,

nfs4-acl-tools替代上面命令参数中的nfs4-acl-tools.x86_64

配置共享

1、建立共享目录

NFS服务器、ActiveMQ主(备)服务器,建立相同的共享目录

mkdir -m 1777 /nfs4exports

mkdir -m 1777 /nfs4exports/data

2、配置exports文件

NFS服务器/etc/exports

/nfs4exports/data *(rw,nohide,sync,insecure,root_squash,no_subtree_check,fsid=0) 注意:nfs v4,一定要有fsid=0这个参数

3、重启NFS服务

NFS服务器运行以下命令

exportfs -rv

service rpcbind restart

service nfs restart

service iptables stop

4、MQ服务器mount目录

ActiveMQ主(备)服务器运行以下命令

mount -t nfs4 -vvv nfs_server_ip:/ /nfs4exports/data

注意:这里一定要是nfs_server_ip:/,即根目录

检验手段

1、检查是否有nfs v4协议

NFS服务器运行以下命令

rpcinfo -p

结果如下图所示:

2、客户端检查

ActiveMQ主(备)服务器,运行以下命令showmount -e nfs_server_ip

df -h

nfsstat -m

结果如下图所示:

相关主题
相关文档
最新文档