ActiveMQ openwire协议集群
2015-07-08 17:32
459 查看
1、准备工作
两台安装完成ActiveMQ的虚拟机,IP地址为192.168.106.233 和 192.168.106.158。当单点时ActiveMQ启动正常。
2、NFS配置
本例采用共享文件的方式集群,共享文件的方式通过NFS实现。
① 设置192.168.106.233为NFS服务器
检查233虚拟机NFS服务是否启动,执行以下命令:
[root@localhost share_dir] # rpm -q nfs-utils portmap
如果有显示,则说明已正确安装;若没有则安装这两个服务。
② 检查服务是否启动
[root@localhost share_dir] # service nfs status
rpc.mountd (pid 12810) is running...
nfsd (pid 12807 12806 12805 12804 12803 12802 12801 12800) is running...
rpc.rquotad (pid 12795) is running...
[root@localhost share_dir] # service portmap status
portmap (pid 12728) is running...
若没有启动,则执行以下命令,则执行以下命令:
[root@localhost share_dir] # service portmap restart
[root@localhost share_dir] # service nfs restart
③ 设置共享文件
打开/etc/exports文件,并添加以下内容:
[root@localhost share_dir] # vi /etc/exports
添加内容:
/home/guoyanjun/ActiveMQ/AMQdir/ 192.168.106.233(rw,sync,no_root_squash) 192.168.106.158(rw,sync,no_root_squash)
语义:将NFS服务器共享目录给客户机IP,并给予读写、同步、不映射root用户。
完成以上设置后,保存退出,并重启服务。
④ 挂载NFS客户端
在233 服务器上建立共享目录:/home/guoyanjun/ActiveMQ/data/share_dir
执行以下命令:
[root@localhost share_dir] # mount -t nfs 192.168.106.233: /home/guoyanjun/ActiveMQ/AMQdir/ /home/guoyanjun/ActiveMQ/data/share_dir
在158 服务器上建立共享目录:/home/ActiveMQ/data/share_dir
执行以下命令:
[root@localhost share_dir] # mount -t nfs 192.168.106.233: /home/guoyanjun/ActiveMQ/AMQdir/ /home/ActiveMQ/data/share_dir
语义:将两个服务器上的目录挂载到/home/guoyanjun/ActiveMQ/AMQdir/目录上
⑤ 验证共享目录
在233服务器的/home/guoyanjun/ActiveMQ/data/share_dir目录中创建任意一个文件,在158服务器的/home/ActiveMQ/data/share_dir目录中查看是否存在。若存在则说明文件共享成功。
3、ActiveMQ配置文件修改
① 配置ActiveMQ服务器,主要为配置$ACTIVEMQ_HOME/conf/activemq.xml文件
在158服务器上,打开activemq.xml文件,修改为以下
81 <persistenceAdapter>
82 <!-- kahaDB directory="${activemq.data}/kahadb"/-->
83 <kahaDB directory="/home/ActiveMQ/data/share_dir/kahadb"/>
84 </persistenceAdapter>
在233服务器上,打开activemq.xml文件,修改为以下
81 <persistenceAdapter>
82 <!-- kahaDB directory="${activemq.data}/kahadb"/-->
83 <kahaDB directory="/home/guoyanjun/ActiveMQ/data/share_dir/kahadb"/>
84 </persistenceAdapter>
4、启动ActiveMQ服务
重新启动ActiveMQ服务
5、测试
在服务重新启动后,打开$ACTIVEMQ_HOME/data/activemq.log文件,看到233正常启动,158机器会有未获取到文件锁的相关提示,或者158正常启动233机器未获得文件锁的相关提示。
分别起停.240和.241机器上的ActiveMQ,master-slave切换正常。
修改ActiveMQ自带例子里的程序,让生产者线程不断生产消息以及消费者线程不断消费消息。检查在master和slave切换时数据无丢失。
测试用例:分别修改Listener和Publisher程序部分,测试部分使用openwire协议。
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("failover:(tcp://192.168.106.233:61616,tcp://192.168.106.158:61616)");
两台安装完成ActiveMQ的虚拟机,IP地址为192.168.106.233 和 192.168.106.158。当单点时ActiveMQ启动正常。
2、NFS配置
本例采用共享文件的方式集群,共享文件的方式通过NFS实现。
① 设置192.168.106.233为NFS服务器
检查233虚拟机NFS服务是否启动,执行以下命令:
[root@localhost share_dir] # rpm -q nfs-utils portmap
如果有显示,则说明已正确安装;若没有则安装这两个服务。
② 检查服务是否启动
[root@localhost share_dir] # service nfs status
rpc.mountd (pid 12810) is running...
nfsd (pid 12807 12806 12805 12804 12803 12802 12801 12800) is running...
rpc.rquotad (pid 12795) is running...
[root@localhost share_dir] # service portmap status
portmap (pid 12728) is running...
若没有启动,则执行以下命令,则执行以下命令:
[root@localhost share_dir] # service portmap restart
[root@localhost share_dir] # service nfs restart
③ 设置共享文件
打开/etc/exports文件,并添加以下内容:
[root@localhost share_dir] # vi /etc/exports
添加内容:
/home/guoyanjun/ActiveMQ/AMQdir/ 192.168.106.233(rw,sync,no_root_squash) 192.168.106.158(rw,sync,no_root_squash)
语义:将NFS服务器共享目录给客户机IP,并给予读写、同步、不映射root用户。
完成以上设置后,保存退出,并重启服务。
④ 挂载NFS客户端
在233 服务器上建立共享目录:/home/guoyanjun/ActiveMQ/data/share_dir
执行以下命令:
[root@localhost share_dir] # mount -t nfs 192.168.106.233: /home/guoyanjun/ActiveMQ/AMQdir/ /home/guoyanjun/ActiveMQ/data/share_dir
在158 服务器上建立共享目录:/home/ActiveMQ/data/share_dir
执行以下命令:
[root@localhost share_dir] # mount -t nfs 192.168.106.233: /home/guoyanjun/ActiveMQ/AMQdir/ /home/ActiveMQ/data/share_dir
语义:将两个服务器上的目录挂载到/home/guoyanjun/ActiveMQ/AMQdir/目录上
⑤ 验证共享目录
在233服务器的/home/guoyanjun/ActiveMQ/data/share_dir目录中创建任意一个文件,在158服务器的/home/ActiveMQ/data/share_dir目录中查看是否存在。若存在则说明文件共享成功。
3、ActiveMQ配置文件修改
① 配置ActiveMQ服务器,主要为配置$ACTIVEMQ_HOME/conf/activemq.xml文件
在158服务器上,打开activemq.xml文件,修改为以下
81 <persistenceAdapter>
82 <!-- kahaDB directory="${activemq.data}/kahadb"/-->
83 <kahaDB directory="/home/ActiveMQ/data/share_dir/kahadb"/>
84 </persistenceAdapter>
在233服务器上,打开activemq.xml文件,修改为以下
81 <persistenceAdapter>
82 <!-- kahaDB directory="${activemq.data}/kahadb"/-->
83 <kahaDB directory="/home/guoyanjun/ActiveMQ/data/share_dir/kahadb"/>
84 </persistenceAdapter>
4、启动ActiveMQ服务
重新启动ActiveMQ服务
5、测试
在服务重新启动后,打开$ACTIVEMQ_HOME/data/activemq.log文件,看到233正常启动,158机器会有未获取到文件锁的相关提示,或者158正常启动233机器未获得文件锁的相关提示。
分别起停.240和.241机器上的ActiveMQ,master-slave切换正常。
修改ActiveMQ自带例子里的程序,让生产者线程不断生产消息以及消费者线程不断消费消息。检查在master和slave切换时数据无丢失。
测试用例:分别修改Listener和Publisher程序部分,测试部分使用openwire协议。
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("failover:(tcp://192.168.106.233:61616,tcp://192.168.106.158:61616)");
相关文章推荐
- 源码安装Nginx及配置文件详解
- diamond专题(三)—— diamond架构
- Linux小技巧收集
- Linux查看磁盘io开销的几种方法
- PowerShell操作DNS创建SRV记录
- PowerShell操作DNS创建SRV记录
- linux 常用命令手册----不断update
- PackageManagerService中运用inotify去监控目录中的APK更新、安装和删除
- hadoop 初学:【1】ssh协议免密码登录
- Linux下修改Mysql的用户(root)的密码
- netbeans出现apache-maven-3.3.3\bin\mvn.bat"' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
- Windows下cscope:can't find the source file
- Tomcat --> Cannot create a server using the selected type
- 【linux】
- 第十节 linux进程操作
- hadoop集群的搭建脚本及构思(二):程序文件的管理思路
- CENTOS 6.5 配置YUM安装NGINX
- 第八节linux文件系统
- 第七节 linux c的基本应用
- OpenSSH配置指南