Mac部署RabbitMq集群 完整

安装版本为rabbitmq 3.9.11,最新稳定版,rabbitmq 3.x版本安装部署一样。

一、安装、启动、关闭

1)安装

brew安装:brew install rabbitmq

如果中途报xcode错误,根据错误提示 可能需要去apple官网下载Command_Line_Tools_for_Xcode_1x.x.x 安装后,再执行上述命令安装mq;安装默认路径为:/usr/local/Cellar/rabbitmq/3.9.11/sbin.

2)启动、停止

前台启动:/usr/local/Cellar/rabbitmq/3.9.11/sbin/rabbitmq-server 

后台启动:/usr/local/Cellar/rabbitmq/3.9.11/sbin/rabbitmq-server   -detached

关闭:/usr/local/Cellar/rabbitmq/3.9.11/sbin/rabbitmqctl stop

查看状态:/usr/local/Cellar/rabbitmq/3.9.11/sbin/rabbitmqctl  status

默认配置启动后,实例节点名为 rabbit

可以访问管理后台:http://localhost:15672,默认用户名和密码为guest guest

通过命令查看新增占用端口:lsof -nP  | grep TCP | grep LISTEN

3)配置任何路径可以运行rabbitmq命令

修改~/.bash_profile文件,使用vi ~/.bash_profile命令打开文件,在文件末尾添加该语句:export PATH=$PATH:/usr/local/sbin保存后,source ~/.bash_profile让命令生效。

二、集群部署

1)创建配置文件

rabbitmq3.9.11默认没有配置文件,下载源码rabbitmq-server-3.9.11.zip 解压缩后有rabbitmq-server-3.9.11/deps/rabbit/docs/rabbitmq.conf.example 参考。自己创建配置文件

单机部署三个rabbitmq实例,注意RabbitMQ使用的 端口号、配置文件不能冲突;创建配置目录放/opt下,创建目录和文件修改权限,命令如下:

sudo mkdir  /opt/rabbitconf

cd /opt/

chown :staff -R rabbitconf

touch  rabbit1.conf rabbit2.conf  rabbit3.conf

chmod  -R 777 rabbit1.conf rabbit2.conf rabbit3.conf

2)写配置文件内容

由于端口冲突,故配置2和配置3 均比配置1属性多,修改端口

配置1  rabbit1.conf:

management.tcp.port=15672

loopback_users.guest=false

配置2  rabbit2.conf

management.tcp.port=15673

loopback_users.guest=false

stream.listeners.tcp=none

mqtt.listeners.tcp.default = 1884

stomp.listeners.tcp.1 = 127.0.0.1:61618

stomp.listeners.tcp.2 = ::1:61618

stomp.listeners.ssl=none

配置3 rabbit3.conf

management.tcp.port=15674

loopback_users.guest=false

stream.listeners.tcp=none

mqtt.listeners.tcp.default = 1885

stomp.listeners.tcp.1 = 127.0.0.1:61620

stomp.listeners.tcp.2 = ::1:61620

stomp.listeners.ssl=none

3)启动三个rabbitmq实例

RABBITMQ_NODENAME=rabbit1 RABBITMQ_NODE_PORT=5672  RABBITMQ_CONFIG_FILE=/opt/rabbitconf/rabbit1.conf rabbitmq-server

RABBITMQ_NODENAME=rabbit2 RABBITMQ_NODE_PORT=5673 RABBITMQ_CONFIG_FILE=/opt/rabbitconf/rabbit2.conf rabbitmq-server

RABBITMQ_NODENAME=rabbit3 RABBITMQ_NODE_PORT=5674 RABBITMQ_CONFIG_FILE=/opt/rabbitconf/rabbit3.conf rabbitmq-server

4)加入集群

第一个实例不用处理,将第二个和第三个实例加入到第一个实例成为需要的集群(其实每个实例都是集群只是集群实例为1,用第一个实例为主,其余加入)

第一个阶段:将rabbit2加入集群。

(1)停止Erlang Vm上运行的RabbitMq应用,保持Erlang VM的运行

rabbitmqctl  stop_app -n rabbit2

(2)移除第二个节点实例上RabbitMq虚拟主机上所有数据:重置数据

rabbitmqctl  reset -n rabbit2

(3)将当前RabbitMq的主机加入到rabbit1这个虚拟主机的集群中,一个实例节点也是集群

rabbitmqctl   -n rabbit2  join_cluster  rabbit1

(4)启动当前Erlang Vm的RabbitMq应用

rabbitmqctl   -n rabbit2  start_app

第二个阶段:将rabbit3加入集群,步骤同上

rabbitmqctl  stop_app -n rabbit3

rabbitmqctl  reset -n rabbit3

rabbitmqctl   -n rabbit3  join_cluster  rabbit1

rabbitmqctl   -n rabbit3  start_app

5)修改集群名和查看集群信息

修改集群名字(rabbit1改为rabbits):rabbitmqctl -n rabbit1 set_cluster_name rabbits

查看集群信息:rabbitmqctl cluster_status  -n rabbit1

6)添加用户

添加用户和密码

rabbitmqctl add_user root 123456   -n rabbit1

加入用户组

  rabbitmqctl set_user_tags root administrator -n rabbit1

设置权限(最高权限)

  rabbitmqctl set_permissions -p / root ".*" ".*"  ".*"  -n rabbit1

6)设置镜像队列集群

全复制all:rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}' -n  rabbit1

备注:

单机部署rabbitmq集群和多机部署集群操作一样,唯一的区别就是多机器配置相同的:三个节点的.erlang.cookie配置一样的key值:GHHKKHKJHKKKKKJJIUHUGUYKJKJKKK,随便取值,通过第三方工具生成。

你可能感兴趣的:(Mac部署RabbitMq集群 完整)