centos7 安装RabbitMq

无尘 2019-12-11 PM 168℃ 0条

修改网易yum源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum clean all &&yum makecache

1.安装erlang

yum install -y erlang

先安装依赖

yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel  epel-release

2.下载安装包

wget  http://www.rabbitmq.com/releases/rabbitmq-server/v3.3.1/rabbitmq-server-3.3.1-1.noarch.rpm

3.安装

yum install  rabbitmq-server-3.3.1-1.noarch.rpm

4.安装web管理界面

rabbitmq-plugins enable rabbitmq_management

5.启动服务

service  rabbitmq-server  restart

6.开启远程访问。
访问http://ip:15672即可,默认只有guest用户,密码也是guest。只容许本机访问,开启远程访问需要修改配置文件。配置文件默认没有,可以手动创建

vim /etc/rabbitmq/rabbitmq.config

[{rabbit, [{loopback_users, []}]}].  

7.集群安装
三台机器 ,一台磁盘节点,两台内存节点。按上面的步骤安装好rabbitmq。这里将mq01作磁盘节点,另外两台作内存节点。
1>.三台服务器上分别在/etc/hosts添加解析

vim /etc/hosts

2>.将其中节点1上的.erlang.cookie 复制到另外两台节点上,使其保持一致,通信。
位置在/var/lib/rabbitmq/.erlang.cookie 我这里将mqcluster-1 上的分别scp到另外两台。复制之前注意权限属性,复制之后保持一致。
另外两台先 chmod 777 .erlang.cookie
3>.节点1上执行

scp  .erlang.cookie  root@172.16.154.27:/var/lib/rabbitmq/
scp  .erlang.cookie  root@172.16.154.28:/var/lib/rabbitmq/

4>.回到另外的两个节点执行

chmod  400  .erlang.cookie

5>.重启三个节点的rabbitmq服务。

rabbitmqctl stop  (可能需要手动kill掉进程)
service   rabbitmq-server  start 

6>.停止所有节点 RabbitMQ 服务,然后使用 detached 参数独立运行

   rabbitmqctl stop
rabbitmq-server -detached

7>.查看每个节点的状态

 rabbitmqctl cluster_status     此时只能看到节点自己

8>.将节点2 、节点3作为内存节点和节点1连接起来。分别在节点2,3上执行

rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbit@mqcluster-1
rabbitmqctl start_app

8.节点2、3是内存节点,1是磁盘节点(rabbitmq启动后默认都是磁盘节点)。要使节点2、3也是磁盘节点的话,在join_cluster是去掉—ram参数即可。

   rabbitmqctl join_cluster  rabbit@mqcluster-1

9.在三个节点上都可执行rabbitmqctl cluster_status,结果如下

[root@sxpblmq02 rabbitmq]# rabbitmqctl cluster_status
Cluster status of node rabbit@sxpblmq02 ...
[{nodes,[{disc,[rabbit@sxpblmq01]},{ram,[rabbit@sxpblmq03,rabbit@sxpblmq02]}]},
 {running_nodes,[rabbit@sxpblmq03,rabbit@sxpblmq01,rabbit@sxpblmq02]},
 {cluster_name,<<"rabbit@sxpblmq01">>},
 {partitions,[]}]
...done.
[root@sxpblmq02 rabbitmq]#

10.登录管理界面
http://172.16.154.27:15672/ 任何一个节点,可以看到三个节点

11.加入&退出集群,
比如将节点2提出集群,在节点2上执行
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
web页面上此时看不到节点2 了

将节点2重新加入
rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbit@mqcluster-1
rabbitmqctl start_app
此时节点2又会重新加入集群。

标签: none

非特殊说明,本博所有文章均为博主原创。

快来评论