RabbitMQ集群搭建(centos 7)
初来乍到,写的不好的地方还请各位大佬多多指教,不喜勿喷。
1.配置 /hostname vim /etc/hostname
2.配置 /hosts vim /etc/hosts
3. 将安装软件包放到linux中(如下:)
安装包下载地址:https://download.csdn.net/download/seri_com/10830844
4. 先安装erlang、在安装socat、最后安装rabbitMQ。
4.1 安装erlang: rpm -ivh erlang-20.3.6-1.el7.centos.x86_64.rpm
4.2 因为socat被RabbitMQ所依赖,则需要先安装socat,否则回报如下错误:
4.3 安装socat:rpm -ivh socat-1.7.3.2-1.1.el7.x86_64.rpm
4.4 安装RabbitMQ:rpm -ivh rabbitmq-server-3.7.9-1.el7.noarch.rpm
到此RabbitMQ已安装完毕,环境变量也配置好了
5. 修改配置文件 vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.9/ebin/rabbit.app
比如修改用户名等,如:loopback_users,去掉<>号。以数组的形式保存修改loopback_users中的<<“guest”>>,只保留guest。然后保存
-
安装管控台)插件(rabbitmq-plugins list 查看rabbitMQ的可用插件)
rabbitmq-plugins enable rabbitmq_management -
启动、停止服务
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables statusservice rabbitmq-server start
service rabbitmq-server stop
service rabbitmq-server restart
设置开机启动
chkconfig rabbitmq-server on
rabbitmqctl start_app –启动服务
rabbitmqctl stop_app –关闭服务 -
访问管控台(端口号:15672 ) ,账号密码默认guest
当每台服务器的RabbitMQ安装完成后,进行如下操作: -
设置每个节点的cookie
Rabbitmq的集群是依赖于erlang的集群来工作的,所以必须先构建起erlang的集群环境。Erlang的集群中各节点是通过一个magic cookie来实现的,这个cookie存放在 /var/lib/rabbitmq/.erlang.cookie 中,文件是400的权限。所以必须保证各节点cookie保持一致,否则节点之间就无法通信
[root@mq08 ~]# chmod 700 /var/lib/rabbitmq/.erlang.cookie
[root@mq08 ~]# echo -n “AZVOCZYZZBVFLBPTBXU” > /var/lib/rabbitmq/.erlang.cookie
[root@mq08 ~]# chmod 400 /var/lib/rabbitmq/.erlang.cookie -
建议在RabbitMQ服务启动前修改过cookie,如果RabbitMQ服务已经启动,修改cookie值后,必须重启RabbitMQ服务,这步很关键
[root@mq08 ~]# ps -ef | grep ^rabbitmq | awk ‘{print $2}’ | xargs kill -9
[root@mq08 ~]# service rabbitmq-server start -
加入集群将 mq07、mq08 、mq09组成集群:
默认是磁盘节点,如果是内存节点的话,需要加–ram参数
在mq08 、mq09上分别运行:
[root@mq08 ~]# rabbitmqctl stop_app
[root@mq08 ~]# rabbitmqctl join_cluster rabbit@mq07
[root@mq08 ~]# rabbitmqctl start_app -
设置镜像策略
[root@mq08 ~]# rabbitmqctl set_policy ha-all “^” ‘{“ha-mode”:“all”,“ha-sync-mode”:“automatic”}’
到此 RabbitMQ集群搭建完毕 -
查看客户端网页管理nodes