原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lyp0909.blog.51cto.com/508999/640550
2. xmlto (rabbitmq 编译安装时需要使用)
如果 机器上python 版本为2.6以下版本 会提示You don't appear to have simplejson.py installed 安装SimpleJson 3.SimpleJson安装(python 2.6以下安装)
4.RabbitMQ安装
5. 配置 rabbitmq cd rabbitmq/sbin rabbitmq-server文件中有三个参数修改为本用户可见目录 #Eralng控制文件 CONFIG_FILE= /etc/rabbitmq/rabbitmq #日志文件 LOG_BASE= /u/rabbitmq/logs #数据库文件 MNESIA_BASE= /u/rabbitmq/db
6.启动RabbitMQ
或设置后台运行 nohup ./rabbitmq-server start > nohup.out& 成功启动后会有日下提示:
Rabbitmq集群环境的搭建 一个rabbitmq集 群中可以共享 user,vhost,queue,exchange等,所有的数据和状态都是必须在所有节点上复制的,一个例外是,那些当前只属于创建它的节点的消息队列,尽管它们可见且可被所有节点读取。rabbitmq节点可以动态的加入到集群中,一个节点它可以加入到集群中,也可以从集群环集群会进行一个基本的负载均衡。 集群中有两种节点: 1 内存节点:只保存状态到内存(一个例外的情况是:持久的queue的持久内容将被保存到disk) 2 磁盘节点:保存状态到内存和磁盘。 内存节点虽然不写入磁盘,但是它执行比磁盘节点要好。集群中,只需要一个磁盘节点来保存状态 就足够了 如果集群中只有内存节点,那么不能停止它们,否则所有的状态,消息等都会丢失。 Rabbitmq的集群是依赖于erlang的集群来工作的,所以必须先构建起erlang的集群环境。Erlang的集群中各节点是通过一个magic cookie来实现的,这个cookie存放在$HOME/.Erlang.cookie 中,文件是400的权限。所以必须保证各节点cookie保持一致,否则节点之间就无法通信。 -r-------- 1 long long 21 Aug 1 08:08 .erlang.cookie 1 将其中一台节点上的.erlang.cookie值复制下来保存到其他节点上。或者使用scp的方法也可,但是要注意文件的权限和属主属组。
将值保存到其他节点上: 先更改文件权限,给予其可写权限:
PS:此步骤建议在rabbitmq启动之前完成。 2 确保节点之间主机名称可以相互解析。 182.71.** LCT-IND-DB1 182.71.** LCT-IND-DB2 182.71.** LCT-IND-APP1 182.71.** LCT-IND-APP2 前期准备工作已经完成,下面就来开始rabbitmq集群的配置,有了erliang的集群环境,rabbitmq集群环境构建起来很简单,只需要把其他节点添加到一台节点中即可,这里采用将LCT-IND-APP2,LCT-IND-APP1添加到LCT-IND-DB2上的方法。 只需简单的几步即可。如无特殊说明,以下步骤在APP2和APP1上都要做。
在LCT-IND-APP2上:
在LCT-IND-APP1上:
在APP2上查看集群状态:
改变节点类型,以APP2为例:
重启集群节点: $./rabbitmqctl stop //关闭某一个节点 $./rabbitmqctl status //查看集群节点状态 $./rabbitmq-server –detached PS:在任何时候必须有一个disk node在运行。 节点退出集群,以APP1为例: $./rabbitmqctl stop_app Stopping node rabbit@ LCT-IND-APP1 ...done. $./rabbitmqctl reset //如果只剩最后一个节点,退出集群时使用force_reset Resetting node rabbit@ LCT-IND-APP1 ...done. $./rabbitmqctl start_app Starting node rabbit@ LCT-IND-APP1 ...done. 如果在rabbitmq单机版服务开启的过程中,改动erlang.cookie,就会在服务重启后出现各种各样的问题,所以建议在rabbitmq的服务开启之前要把erlang.cookie配置好。如果出现问题,解决方法就是将服务停掉后执行以下命令: rm –f /var/lib/rabbitmq/mnesia/rabbit/* 如果在rabbitmq-server的配置文件中更改了数据库存放目录,则执行以下命令: rm –f /path/to/rabbitmq/db/rabbit/* 重启服务即可! 参考文章: |
|
来自: icecity1306 > 《可能用到系统》