rabbitmq集群搭建(3台)

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、验证

访问:http://IP:15672/#/

  • 20
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值