1.首先在各个目标机器上安装RabbitMQ,这个地址上有各平台的安装步骤http://www.rabbitmq.com/download.html
因为我的服务器是Centos,所以选择http://www.rabbitmq.com/install-rpm.html
1.1 Install Erlang 安装Erlang
各版本RabbitMQ所要求的erlang版本一览 http://www.rabbitmq.com/which-erlang.html
运行 yum install erlang
但是发现erlang 安装的是 R16B-03.18.el7 ,无法满足RabbitMQ 3.7.6 最低erlang19.3的版本要求。
因此需要更换一下安装方式,推荐使用此方式进行安装,这也是RabbitMQ官方推荐的 https://www.erlang-solutions.com/resources/download.html
wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm rpm -Uvh erlang-solutions-1.0-1.noarch.rpm sudo yum install erlang
1.2安装RabbitMQ
下载rabbitmq
wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.7/rabbitmq-server-3.7.7-1.el7.noarch.rpm
以下使用‘root’运行
rpm --import https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc # this example assumes the CentOS 7 version of the package yum install rabbitmq-server-3.7.7-1.el7.noarch.rpm
一些常用的命令
$ sudo chkconfig rabbitmq-server on # 添加开机启动RabbitMQ服务
$ sudo /sbin/service rabbitmq-server start # 启动服务
$ sudo /sbin/service rabbitmq-server status # 查看服务状态
$ sudo /sbin/service rabbitmq-server stop # 停止服务
# 查看当前所有用户 $ sudo rabbitmqctl list_users
# 查看默认guest用户的权限 $ sudo rabbitmqctl list_user_permissions guest
# 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户 $ sudo rabbitmqctl delete_user guest
# 添加新用户 $ sudo rabbitmqctl add_user username password
# 设置用户tag $ sudo rabbitmqctl set_user_tags username administrator
# 赋予用户默认vhost的全部操作权限 $ sudo rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
# 查看用户的权限 $ sudo rabbitmqctl list_user_permissions username
开启管理后台
sudo rabbitmq-plugins enable rabbitmq_management
开启成功后可以在浏览器中访问http://xx.xx.xx.xx:15672 使用刚才插入的用户名密码进行管理。
其它插件的处理 http://www.rabbitmq.com/plugins.html
#查看插件列表
rabbitmq-plugins list
#enble插件
rabbitmq-plugins enable plugin-name
#disable插件
rabbitmq-plugins disable plugin-name
根据自己所需开启插件
2.在各机器上安装好RabbitMQ后,构建集群
首先在每台/etc/hosts 中增加所有的机器 ip 机器名称,并保证能够相互PING通
如 10.0.0.2 A (注:A为登录服务器显示的root@A)
10.0.0.3 B
...
查看并修改各服务器中/var/lib/rabbitmq/.erlang.cookie的值,把所有的都修改成相同的值。
在B中运行 rabbitmqctl stop_app 停止运行
运行 rabbitmqctl join_cluster --ram rabbit@A 作为内存节点 或者吧ram 换为 disc 节点
加入成功后 rabbitmqctl start_app
即可在管理后台看见B节点