1.安装erlang

需要注意erlang的版本是否满足rabbitmq的需求

这里用到的版本是:Erlang 19.0.4   RabbitMQ 3.6.15

wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm

rpm -ivh erlang-19.0.4-1.el7.centos.x86_64.rpm
yum -y install erlang

1.1测试erlang是否安装

erl -version

2.安装rabbitmq

wget https://www.rabbitmq.com/releases/rabbitmq-server/current/rabbitmq-server-3.6.15-1.el6.noarch.rpm

yum install rabbitmq-server-3.6.15-1.el6.noarch.rpm

2.1其他相关命令

启动:systemctl start rabbitmq-server
开机自动启动:systemctl enable rabbitmq-server
查看 rabbitmq-server 状态:rabbitmqctl status

2.2配置网页插件

首先创建目录,否则可能报错:
mkdir /etc/rabbitmq然后启用插件:
rabbitmq-plugins enable rabbitmq_management

2.3配置防火墙

配置linux 端口 15672 网页管理 5672 AMQP端口:
firewall-cmd --permanent --add-port=15672/tcp
firewall-cmd --permanent --add-port=5672/tcp
systemctl restart firewalld.service

现在你在浏览器中输入服务器IP:15672 就可以看到RabbitMQ的WEB管理页面了

2.4配置访问账号密码和权限

默认网页是不允许访问的,需要增加一个用户修改一下权限,代码如下:
rabbitmqctl add_user rabbit 123456  //添加用户,后面两个参数分别是用户名和密码
rabbitmqctl set_permissions -p / rabbit ".*" ".*" ".*"  //添加权限
rabbitmqctl set_user_tags rabbit administrator  //修改用户角色

然后就可以远程访问了,然后可直接配置用户权限等信息。
登录:http://ip:15672 登录之后在admin里面把guest删除。

3.开始配置集群

3.1配置节点的host

vim /etc/hosts192.168.161.200 slave1
192.168.161.201 slave2
192.168.161.202 slave3

集群中的所有节点均需要配置

3.1配置erlang的cookie,cookie要一致

官方在介绍集群的文档中提到过.erlang.cookie一般会存在这两个地址:第一个是$home/.erlang.cookie;第二个地方就是/var/lib/rabbitmq/.erlang.cookie。
如果我们使用解压缩方式安装部署的rabbitmq,那么这个文件会在${home}目录下,也就是$home/.erlang.cookie。
如果我们使用rpm等安装包方式进行安装的,那么这个文件会在/var/lib/rabbitmq目录下。

如果修改文件,rabbitmq不能启动,这个时候用这个命令修改一下cookie: chmod 400 .erlang.cookie

3.2查看集群信息,确定集群的名称

rabbitmqctl cluster_statusCluster status of node rabbit@slave2
[{nodes,[{disc,[rabbit@slave1,rabbit@slave2,rabbit@slave3]}]},{running_nodes,[rabbit@slave3,rabbit@slave1,rabbit@slave2]},{cluster_name,<<"rabbit@slave1">>},{partitions,[]},{alarms,[{rabbit@slave3,[]},{rabbit@slave1,[]},{rabbit@slave2,[]}]}]查看cluster_name的值

3.3加入集群

1.停止当前要加入到集群的节点的rabiitmq服务

rabbitmqctl stop_app

2.加入集群

示例命令:
rabbitmqctl join_cluster rabbit@slave1

3.启动rabbitmq服务

 rabbitmqctl start_app

4.可以用命令 rabbitmqctl cluster_status查看节点是否正确加入,也可以使用webUI查看

4  开始配置负载均衡

4.1 nginx的安装和启用stream模块的方法

请参看此文章

4.2关键配置

user  nginx;
worker_processes  1;error_log  /usr/local/nginx/logs/error.log warn;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {include       /usr/local/nginx/conf/mime.types;default_type  application/octet-stream;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /usr/local/nginx/logs/access.log  main;sendfile        on;#tcp_nopush     on;keepalive_timeout  65;#gzip  on;upstream honeysuckle {ip_hash;server 192.168.161.202:31531;server 192.168.161.201:31531;server 192.168.161.200:31531;}server{ listen 80; location / { proxy_pass  http://honeysuckle;
      } }upstream rabbitmqweb {ip_hash;server 192.168.161.202:15672;server 192.168.161.201:15672;server 192.168.161.200:15672;}server{ listen 15672; location / { proxy_pass  http://rabbitmqweb;
      } }include /etc/nginx/conf.d/*.conf;
}stream{upstream rabbitmq{server 192.168.161.200:5672 weight=1;server 192.168.161.201:5672 weight=1;server 192.168.161.202:5672 weight=1;}server{listen 5672;proxy_pass rabbitmq;}
}

4.3 测试是否生效

最直观的办法是使用rabbitMQ web查看连接是否可以命中(根据nginx配置的负载均衡策略)配置的节点

转载于:https://www.cnblogs.com/gytangyao/p/10630934.html

1.rabbitmq 集群版安装及使用nginx进行四层负载均衡设置相关推荐

  1. GBase 8c V5 集群版安装示例

    GBase 8c V5 集群版安装示例 一.前言 二.环境准备 三.集群安装 四.数据库启停 五.卸载 六.连接和 SQL 测试 一.前言 GBase 8c 是 GBASE公司(天津南大通用数据技术股 ...

  2. linux nginx 安装stream,Centos7-64bit-编译安装配置Nginx stream四层负载均衡 动态加载

    Centos7-64bit-编译安装配置Nginx stream四层负载均衡 动态加载 2018-08-10 17:12 分享人:老牛 yum install screen -y && ...

  3. Java架构师:单体部署 ->Nginx 集群 -> + Keepalived“高可用”组件 -> + LVS负载均衡

    一.集群阶段开篇概述 1.单体部署 1.1 单台服务器(节点)部署 1.2.多台服务器(节点)部署 集群.分布式.微服务中的各个服务器节点必须互通,必须在同一个局域网(内网要通) 1.3.单体架构的优 ...

  4. ElasticSearch -- ES 7.x 集群版安装部署

    向导 1. ElasticSearch 1.下载 2.配置 3.查看启动状态 4.注册宕机.开机自启 5.如果磁盘是SSD,建议修改IO调度算法 6.SSD磁盘,关闭numa绑核.hugepage 2 ...

  5. mysql集群一:主从复制,通过mysql-proxy做负载均衡

    mysql集群架构方式很多,根据不同的需求做不一样的架构,简单一点的就是mysql的replication,也就是Mysql的复制功能,模式有:master-slaves,master-slaves- ...

  6. SpringCloud集群的搭建,分布式的实现,负载均衡的几种方式,路由,页面监听

    SpringCloud 服务注册与发现--Netflix Eureka 负载均衡: 客户端负载均衡--Netflix Ribbon 服务端负载均衡:--Feign(其也是依赖于Ribbon,只是将调用 ...

  7. Linux服务器集群系统(二)—— LVS的IP负载均衡技术

    一.通过NAT实现虚拟服务器(VS/NAT) 1.客户通过Virtual IP Address(虚拟服务的IP地址)访问网络服务时,请求报文到达调度器,调度器根据连接调度算法从一组真实服务器中选出一台 ...

  8. 集群服务器分布式iis_Nginx+IIS分布式部署和负载均衡

    标签: 1.IIS中部署2个网站 创建2个网站,端口分别为9001.9002 2.下载Nginx 可以进入Nginx官网进行下载,官网地址: http://nginx.org/,需要下载windows ...

  9. ES集群宕机后处理——重新分配shards,负载均衡

    ES集群5台机器,由于同时读写导致其中一台机器宕机, 原本每天的索引shard数设定为10,这样5台机器每台分配2个shard, 但是一旦集群宕机,重启集群后,5号机器宕机导致它上面的shard会转移 ...

最新文章

  1. 阿里云证书 | 套路太深,还是我打开姿势不对?
  2. android好还是windows好,收银机操作系统哪种好?安卓系统与Windows系统区别?
  3. Docker基础技术:Linux Namespace【上】
  4. rand函数的使用方法php,PHP array_rand()函数 使用基础教程
  5. 一、织物组织相关基本概念
  6. opengl 如何加阴影_OpenGL + Qt: 3 - 旋转动画和键盘操纵
  7. __attribute__((visibility()))
  8. Iperf 源代码分析(四)
  9. 18 个惊人的 GitHub 仓库
  10. php 循环获取分类,PHP 循环删除无限分类子节点
  11. Internet Explorer 10 的 User-Agent 字符串
  12. 在计算机操作系统中操作系统是处于应用软件,计算机操作系统考试复习题
  13. 冰点文库下载器V3.1.4
  14. html中css 样式怎么写,css样式怎么写?
  15. STM32 使用基本定时器实现微秒us级延时
  16. 大神的傅里叶变换,一定要看看
  17. win10繁体字转简体字
  18. Sendgrid 发信失败!错误代码421.5.7.1 是什么原因?
  19. 【转载】遥感影响数据集整理
  20. 从几个动物故事告诉你如何做好团队管理

热门文章

  1. 分段函数if语句_C语言函数系列之库函数中基础必会函数(一)
  2. 搜索引擎优化系统知名乐云seo_seo技术出名 乐云seo:如何进行搜索引擎优化?
  3. excel 电阻并联计算_电路分析基础(5)-关于电阻,有些话我还是要说一说
  4. java随机数排序算法_理解快速排序算法
  5. java3d创建立方体_Opengl创建几何实体——四棱锥和立方体
  6. java对hashmap迭代_Java:通过HashMap迭代,这样更有效率?
  7. 图书管理系统数据字典_2. 结构化——数据字典
  8. usb大容量存储设备驱动_usb无法识别怎么办 如何解决usb识别故障【详细步骤】...
  9. 【数据结构基础】【散列表】
  10. cd-rom门锁定什么意思_CD-ROM的完整形式是什么?