默认集群配置方法
- 按顺序安装
erlang
,rabbitmq
- 安装过程中需要注意,如果rabbitmq检测到和erlang的依赖关系有问题,可先用--nodeps安装上
- 修改
/etc/hosts
所有节点必须都加入,保证相互之间可以解析到,地址用局域网地址
<pre>
172.16.25.172 rabbit1 rabbit1
172.16.25.171 rabbit2 rabbit2
</pre> -
hostname
修改
<pre>
hostname 主机名
</pre> -
/etc/sysconfig/network
中的hostname修改 -
/var/lib/rabbitmq/.erlang.cookie
保证各节点之间的cookie一致,注意权限为400
, 用户名和组为rabbitmq:rabbitmq
- 各节点启动
rabbitmq
<pre>
rabbitmq-server -detached
</pre> - 查看状态
<pre>
rabbitmqctl status
</pre> - 将
rabbit2
加入rabbit1
在rabbit2
上执行
<pre>
rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbit@rabbit1
rabbitmqctl start_app
</pre>
其中--ram
是作为内存节点加入,若作为磁盘节点,不加ram即可。
rabbit1
启动时默认是作为磁盘节点。 - 查看集群状态
<pre>
rabbitmqctl cluster_status
</pre>
镜像集群配置方法
- 配置策略
<pre>
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
</pre>
其他操作
- 开机启动
<pre>
chkconfig --level 35 rabbitmq-server on
</pre> - 安装web管理插件
<pre>
rabbitmq-plugins enable rabbitmq_management
</pre> - 增加用户
<pre>
rabbitmqctl add_user user_admin passwd_admin
</pre> - 赋予用户权限
<pre>
rabbitmqctl set_user_tags user_admin administrator
</pre> - 删除用户
<pre>
delete_user
</pre> - 列出用户
<pre>
list_users
</pre>
测试流程
https://github.com/alanxz/rabbitmq-c
编译好rabbitmq-c之后
<pre>
./amqp_listen localhost 5672 amq.direct test
./amqp_sendstring localhost 5672 amq.direct test "hello world"
</pre>
所有加入集群的节点,都可以收到第一个节点发送的消息。