RabbitMQ
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum install erlang -y yum install http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm -y 启用RabbitMQ监控插件 systemctl start rabbitmq-server [root@node139 ~]# rabbitmq-plugins enable rabbitmq_management The following plugins have been enabled: mochiweb webmachine rabbitmq_web_dispatch amqp_client rabbitmq_management_agent rabbitmq_management Applying plugin configuration to rabbit@node139... started 6 plugins. [root@node139 ~]# netstat -apn | grep 15672 tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN 4119/beam.smp RabbitMQ用户管理 添加用户(用户名admin,密码admin) [root@node139 ~]# rabbitmqctl add_user admin admin 设置用户角色(设置admin用户为管理员角色) [root@node139 ~]# rabbitmqctl set_user_tags admin administrator Setting tags for user "admin" to [administrator] ... 设置用户权限(设置admin用户配置、写、读的权限) [root@node139 ~]# rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" Setting permissions for user "admin" in vhost "/" ... 删除用户(删除guest用户) [root@node139 ~]# rabbitmqctl delete_user guest RabbitMQ集群配置 集群配置在单机配置完成的基础上进行 以下以node140为例,node132需要做同样的操作 •添加/etc/hosts条目 在node132、node139、node140里的/etc/hosts文件中分别添加: 192.168.190.132 node132 192.168.190.139 node139 192.168.190.140 node140 •设置每个节点Cookie Rabbitmq的集群是依赖于erlang的集群来工作的,所以必须先构建起erlang的集群环境。Erlang的集群中各节点是通过一个magic cookie来实现的,这个cookie存放在 /var/lib/rabbitmq/.erlang.cookie 中,文件是400的权限。所以必须保证各节点cookie保持一致,否则节点之间就无法通信 [root@node140 /]# echo -n "AZVOCZYZZBVFLBPTBXU" > /var/lib/rabbitmq/.erlang.cookie [root@node140 ~]# chown rabbitmq:root /var/lib/rabbitmq/.erlang.cookie [root@node140 /]# chmod 600 /var/lib/rabbitmq/.erlang.cookie [root@node140 /]# cat /var/lib/rabbitmq/.erlang.cookie AZVOCZYZZBVFLBPTBXU 启动服务 [root@node140 ~]# systemctl start rabbitmq-server.service [root@node140 ~]# rabbitmq-server -detached 开通防火墙 [root@node140 ~]# firewall-cmd --permanent --add-port={4369/tcp,25672/tcp} success [root@node140 ~]# firewall-cmd --reload success •加入集群 默认是磁盘节点,如果是内存节点的话,需要加--ram参数 [root@node140 ~]# rabbitmqctl stop_app Stopping node rabbit@node140 ... [root@node140 ~]# rabbitmqctl join_cluster rabbit@node139 Clustering node rabbit@node140 with rabbit@node139 ... [root@node140 ~]# rabbitmqctl start_app Starting node rabbit@node140 ... •设置镜像策略 [root@node140 ~]# rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all","ha-sync-mode":"automatic"}' Setting policy "ha-all" for pattern "^" to "{\"ha-mode\":\"all\",\"ha-sync-mode\":\"automatic\"}" with priority "0" … 启用RabbitMQ监控插件 cluster搭建起来后若在web管理工具中rabbitmq_management的Overview的Nodes部分看到"Node statistics not available"的信息,说明在该节点上web管理插件还未启用。 [root@node140 ~]# rabbitmq-plugins enable rabbitmq_management 集群配置好后,可以在 RabbitMQ 任意节点上执行下面的命令来查看是否集群配置成功。 [root@node140 ~]# rabbitmqctl cluster_status 其它节点需要做同样的操作 登录站点http://192.168.190.139:15672/