苏州市住房建设局网站首页,广州网络seo优化,临安建设投标网站,网站改版意义目录
一、环境
1、映射、域名、三墙
2、Erlang和socat安装#xff08;三台服务器都实行#xff09;
二、部署三台rabbitmq-3.8.15实例
1、rabbitmq官网下载地址 #xff1a;
2、解压rabbitmq
3、添加系统变量
4、启动web插件、启动rabbitmq
5、在rabbitmq1上添加用…
目录
一、环境
1、映射、域名、三墙
2、Erlang和socat安装三台服务器都实行
二、部署三台rabbitmq-3.8.15实例
1、rabbitmq官网下载地址
2、解压rabbitmq
3、添加系统变量
4、启动web插件、启动rabbitmq
5、在rabbitmq1上添加用户
三、部署集群
1、向2和3分发.erlang.cookie 2、rabbitmq2加入rabbitmq1节点
3、rabbitmq3同理查看节点状态
三、设置为镜像模式 一、环境
1、映射、域名、三墙
[rootrabbitmq1 ~]# vim /etc/hosts
192.168.6.83 rabbitmq1
192.168.6.84 rabbitmq2
192.168.6.85 rabbitmq3
[rootrabbitmq1 ~]# hostnamectl set-hostname rabbitmq1
[rootrabbitmq1 ~]# bash
[rootrabbitmq2 ~]# hostnamectl set-hostname rabbitmq2
[rootrabbitmq2 ~]# bash
[rootrabbitmq3 ~]# hostnamectl set-hostname rabbitmq3
[rootrabbitmq3 ~]# bash
[rootrabbitmq1 ~]# systemctl stop firewalld
[rootrabbitmq1 ~]# setenforce 0
[rootrabbitmq1 ~]# iptables -F
2、Erlang和socat安装 三台服务器都实行
#Erlang安装
#Erlang环境
[rootrabbitmq1 ~]# yum -y install make gcc gcc-c build-essential openssl openssl-devel unixODBC unixODBC-devel kernel-devel m4 ncurses-devel
[rootrabbitmq1 ~]# curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
[rootrabbitmq1 ~]# sudo yum -y install erlang-22.3.4.19-1.el7.x86_64
[rootrabbitmq1 ~]# yum -y install socat
二、部署三台rabbitmq-3.8.15实例
1、rabbitmq官网下载地址
Downloading and Installing RabbitMQ — RabbitMQhttp://www.rabbitmq.com/download.html
获取 rabbitmq-server-generic-unix-3.8.15.tar并拉取到每台服务器
2、解压rabbitmq
[rootrabbitmq2 ~]# xz -d rabbitmq-server-generic-unix-3.8.15.tar.xz
[rootrabbitmq2 ~]# tar xvf rabbitmq-server-generic-unix-3.8.15.tar
[rootrabbitmq2 ~]# mv rabbitmq_server-3.8.15/ /usr/local/rabbitmq3、添加系统变量 #打开环境变量文件[rootrabbitmq2 ~]# vim /etc/profile#添加erlang rabbitmq 到环境变量export PATH$PATH:/usr/local/erlang/binexport PATH$PATH:/usr/local/rabbitmq/sbin#重新加载环境变量[rootrabbitmq2 ~]# source /etc/profile
4、启动web插件、启动rabbitmq #启动web插件 便于访问[rootrabbitmq2 ~]# rabbitmq-plugins enable rabbitmq_management#启动rabbitmq服务[rootrabbitmq2 ~]# rabbitmq-server
5、在rabbitmq1上添加用户 #添加用户 admin 密码为 123456rabbitmqctl add_user admin 123456#将admin 设置为管理员权限rabbitmqctl set_user_tags admin administrator#将admin 设置为远端登录rabbitmqctl set_permissions -p / admin .* .* .*
使用 admin 密码 123456 进行登录 三、部署集群
1、向2和3分发.erlang.cookie
[rootrabbitmq1 ~]# scp .erlang.cookie 192.168.6.84:/root
[rootrabbitmq1 ~]# scp .erlang.cookie 192.168.6.85:/root2、rabbitmq2加入rabbitmq1节点
需要强调一下集群中至少有一个节点是磁盘节点用于数据持久化然后剩下的节点都设置为内存节点以提高性能。
这里将 rabbitmq2 添加到集群当中并成为内存节点不加–ram 默认是磁盘节点
rabbitmq1默认为磁盘节点
[rootrabbitmq2 ~]# rabbitmqctl stop_app
Stopping rabbit application on node rabbitrabbitmq2 ...
[rootrabbitmq2 ~]# rabbitmqctl reset
Resetting node rabbitrabbitmq2 ...
[rootrabbitmq2 ~]# rabbitmqctl join_cluster --ram rabbitrabbitmq1
Clustering node rabbitrabbitmq2 with rabbitrabbitmq1
[rootrabbitmq2 ~]# rabbitmqctl start_app
Starting node rabbitrabbitmq2 ...3、rabbitmq3同理查看节点状态
[rootrabbitmq1 ~]# rabbitmqctl cluster_status
Cluster status of node rabbitrabbitmq1 ...
BasicsCluster name: rabbitrabbitmq1Disk Nodesrabbitrabbitmq1RAM Nodesrabbitrabbitmq2
rabbitrabbitmq3Running Nodesrabbitrabbitmq1
rabbitrabbitmq2
rabbitrabbitmq3VersionsNode: rabbitrabbitmq1, status: not under maintenance
Node: rabbitrabbitmq2, status: not under maintenance
Node: rabbitrabbitmq3, status: not under maintenanceMaintenance statusNode: rabbitrabbitmq1, status: not under maintenance
Node: rabbitrabbitmq2, status: not under maintenance
Node: rabbitrabbitmq3, status: unknown三、设置为镜像模式
[rootrabbitmq1 ~]# rabbitmqctl set_policy ha-all ^ {ha-mode:all}
Setting policy ha-all for pattern ^ to {ha-mode:all} with priority 0 for vhost / ...验证
[rootrabbitmq1 ~]# rabbitmqctl cluster_status
Cluster status of node rabbitrabbitmq1 ...
BasicsCluster name: rabbitrabbitmq1Disk Nodesrabbitrabbitmq1RAM Nodesrabbitrabbitmq2
rabbitrabbitmq3Running Nodesrabbitrabbitmq1
rabbitrabbitmq2
rabbitrabbitmq3Versionsrabbitrabbitmq1: RabbitMQ 3.8.15 on Erlang 22.3.4.19
rabbitrabbitmq2: RabbitMQ 3.8.15 on Erlang 22.3.4.19
rabbitrabbitmq3: RabbitMQ 3.8.15 on Erlang 22.3.4.19Maintenance statusNode: rabbitrabbitmq1, status: not under maintenance
Node: rabbitrabbitmq2, status: not under maintenance
Node: rabbitrabbitmq3, status: not under maintenanceAlarms(none)Network Partitions(none)ListenersNode: rabbitrabbitmq1, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbitrabbitmq1, interface: [::], port: 15672, protocol: http, purpose: HTTP API
Node: rabbitrabbitmq1, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Node: rabbitrabbitmq2, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbitrabbitmq2, interface: [::], port: 15672, protocol: http, purpose: HTTP API
Node: rabbitrabbitmq2, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Node: rabbitrabbitmq3, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbitrabbitmq3, interface: [::], port: 15672, protocol: http, purpose: HTTP API
Node: rabbitrabbitmq3, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0(none)Network Partitions(none)ListenersNode: rabbitrabbitmq1, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbitrabbitmq1, interface: [::], port: 15672, protocol: http, purpose: HTTP API
Node: rabbitrabbitmq1, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Node: rabbitrabbitmq2, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbitrabbitmq2, interface: [::], port: 15672, protocol: http, purpose: HTTP API
Node: rabbitrabbitmq2, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0