赞
踩
1、准备3台机器(我的机器是阿里云服务器centos7.8)
2、设置两台机器网络互通,并设置hostname(通过centos的hostname命令设置)
①第一台服务器命令:hostname node1
②第二台服务器命令:hostname node2
③第三台服务器命令:hostname node3
3、设置/etc/hosts
①第一台服务器:
命令:vim /etc/hosts,增加如下内容:
192.168.0.1 node1
192.168.0.2 node2
192.168.0.3 node3
②第二台服务器:
命令:vim /etc/hosts,增加如下内容(与服务器1保持一致):
192.168.0.1 node1
192.168.0.2 node2
192.168.0.3 node3
4、验证一下网络:
三台服务器ping,只要ping通,证明3台服务器网络互通。
5、环境和版本安装
注意:没有安装erlang之前,先安装依赖
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
yum -y install ncurses-devel
①erlang下载地址:https://packagecloud.io/rabbitmq/erlang/
②rabbitmq下载地址:https://packagecloud.io/rabbitmq/rabbitmq-server/
此时获得两个文件:
erlang-23.3.4.11-1.el7.x86_64.rpm
rabbitmq-server-3.8.16-1.el7.noarch.rpm
③下载haproxy:https://src.fedoraproject.org/repo/pkgs/haproxy/haproxy-2.7.3.tar.gz/sha512/
6、开始安装
①安装erlang:
rpm -ivh erlang-23.3.4.11-1.el7.x86_64.rpm
②安装socat:
yum install socat -y
③安装rabbitmq:
rpm -ivh rabbitmq-server-3.8.16-1.el7.noarch.rpm
④设置开机启动
chkconfig rabbitmq-server on
⑤启动服务
service rabbitmq-server start
⑥查看服务器状态
service rabbitmq-server status
⑦停止服务
service rabbitmq-server stop
⑧开启web管理插件(先将服务关闭)
rabbitmq-plugins enable rabbitmq_management
⑨web登录验证(记得启动服务哈~)
service rabbitmq-server start
访问地址:http://192.168.0.1:15672/
注意点:
a.如果无法访问我的阿里云添加端口的安全组
b.如果你是在本机安装,需要执行一下命令:
systemctl stop firewalled
systemctl disable firewalled
systemctl status firewalled
此时,管理页面可以访问了。
但是呢,guest用户登录不了,报错:User can only log in via localhost.
6、添加用户和角色
①创建账号
rabbitmqctl add_user admin 123456
②设置用户角色
rabbitmqctl set_user_tags admin administrator
③设置用户权限
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
用户admin具有/vhost1这个virtual host中所有的配置,写、读权限
④查询当前用户和角色
rabbitmqctl list_users
现在可以登录了:
7、复制cookie,保持一致
①停止服务
service rabbitmq-server stop
②从node1复制cookie到其他2台机器
scp /var/lib/rabbitmq/.erlang.cookie root@node2:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie root@node3:/var/lib/rabbitmq/.erlang.cookie
8、启动rabbitmq服务(启动erlang虚拟机和rabbitmq应用服务)
rabbitmq-server -detached
9、在节点2执行
rabbitmqctl stop_app(rabbitmqctl stop_会将erlang虚拟机关闭,rabbitmqctl stop_app只会关闭rabbitmq服务)
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@node1
rabbitmqctl start_app(只启动应用服务)
10、在节点3执行
rabbitmqctl stop_app(rabbitmqctl stop_会将erlang虚拟机关闭,rabbitmqctl stop_app只会关闭rabbitmq服务)
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@node2
rabbitmqctl start_app(只启动应用服务)
11、集群状态
rabbitmqctl cluster_status
12、需要重新设置用户(只需要在一台机器上运行)
a.创建账号
rabbitmqctl add_user admin123456
b.设置用户角色
rabbitmqctl set_user_tags admin administrator
c.设置也用户权限
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
11、验证
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。