CentOs7搭建rabbitmq集群

2020-08-21 10:38:57 浏览数 (1)

环境:三台centos7.4.1708_x86_64 机器 192.168.1.186、192.168.1.187、192.168.1.188

三台机器修改主机名 修改/etc/hostname 编辑文件内容为 s186 修改/etc/hosts 编辑文件内容为 127.0.0.1 localhost 192.168.1.186 s186 192.168.1.187 s187 192.168.1.188 s188 修改完后可能需要重启,查看有没有修改成功使用hostname来查看是无效的,要看命令提示符@符号后面的主机名是否更改了,比如像我的改好后应该显示成[root@s186 /var/lib/rabbitmq]# 而不是 [root@localhost /var/lib/rabbitmq]# 还有另外一种方式,可以参考https://my.oschina.net/mingshashan/blog/741988,这种方式也需要重启。

关闭三台机器的防火墙 systemctl stop firewalld.service

安装erlang 新建/etc/yum.repos.d/rabbitmq-erlang.repo文件,输入以下内容

代码语言:javascript复制
# In /etc/yum.repos.d/rabbitmq-erlang.repo
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1

执行yum install erlang安装erlang

安装Rabbitmq Server 在http://www.rabbitmq.com/install-rpm.html#install-erlang 最上方点击下载rabbitmq-server-3.7.4-1.el7.noarch.rpm包

下载完rpm包后执行安装

代码语言:javascript复制
rpm --import https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc

yum install rabbitmq-server-3.7.4-1.el7.noarch.rpm

启动rabbitmq rabbitmq-server -detached 查看rabbitmq状态 rabbitmqctl status

查看日志文件,找到home dir,.erlang.cookie文件在home dir目录下,将该目录下的.erlang.cookie文件拷贝到另外两台机器上。

这里将是s186作为主节点,另外两个节点加入到s186中,在另外两台上执行 rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl join_cluster rabbit@s186

集群搭建完毕后,查看集群状态

代码语言:javascript复制
[root@s186 /var/lib/rabbitmq]#rabbitmqctl cluster_status 
Cluster status of node rabbit@s186 ...
[{nodes,[{disc,[rabbit@s186,rabbit@s187,rabbit@s188]}]},
{running_nodes,[rabbit@s188,rabbit@s187,rabbit@s186]},
{cluster_name,<<"rabbit@s186">>},
{partitions,[]},
{alarms,[{rabbit@s188,[]},{rabbit@s187,[]},{rabbit@s186,[]}]}]

启动web管理插件,三台机器都要启动 rabbitmq-plugins enable rabbitmq_management 访问 http://192.168.1.186:15672/

rabbitmq有个默认用户guest,密码也为guest,但是这个用户不允许远程登录,登录时会报如下错误

可以使用命令行新增一个用户,用新用户登录

代码语言:javascript复制
rabbitmqctl add_user root 123456
rabbitmqctl set_permissions -p / root ".*" ".*" ".*"
rabbitmqctl set_user_tags root administrator

0 人点赞