RabbitMQ 群集安装(每一台机器都操作

# RabbitMQ 群集安装(每一台机器都操作)

## 一、环境描述

### 1、操作系统

| 主机名        | IP地址 | 操作系统版本                         | erlang 版本 | rabbitmq 版本 |

| ------------- | ------ | ------------------------------------ | ----------- | ------------- |

| 192.168.3.99  | node02 | CentOS Linux release 7.4.1708 (Core) | 21.0        | 3.7.7         |

| 192.168.3.100 | node01 | CentOS Linux release 7.4.1708 (Core) | 21.0        | 3.7.7         |

| 192.168.3.222 | node03 | CentOS Linux release 7.4.1708 (Core) | 21.0        | 3.7.7         |

### 2、设置linux静态IP+

~~~

命令:

# cd /etc/sysconfig/network-scripts/

# vim ifcfg-ens33

修改内容为:

TYPE=Ethernet

PROXY_METHOD=none

BOOTPROTO=static #静态IP

BROWSER_ONLY=no

DEFROUTE=yes

IPADDR=192.168.1.189  #调整

NETMASK=255.255.255.0  #调整

GATEWAY=192.168.1.1   #调整

DNS1=202.106.0.20    #调整

DNS2=8.8.8.8

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=ens33

UUID=312fb2fd-eade-4e6f-8abb-5602fc8d2da4

DEVICE=ens33

ONBOOT=yes  # 支持静态IP


 

修改完毕后:执行命令:

# service network restart

重启网卡:

# systemctl restart network

~~~

### 3.关闭防火墙

~~~

查看防火墙:

# systemctl status  firewalld.service

开启防火墙:

# systemctl start firewalld.service    

关闭防火墙

# systemctl stop firewalld.service            #停止firewall

# systemctl disable firewalld.service        #禁止firewall开机启动

~~~

### 3 、文件配置(每一台服务都必须配置)

修改主机名称

```

查看主机名称:

# hostname

修改主机名称:

# hostnamectl set-hostname <主机名称> ## 永久修改了主机名称

```

编辑/etc/hosts 文件配置

```

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.3.220 node1

192.168.3.221 node2

192.168.3.222 node3

```

## 二、安装

### 1、安装环境依赖包

这里虚拟机系统为Centos7,采用的安装方式是yum安装,为了简单,这里直接使用官方提供的erlang和RabbitMQ-server的自动安装脚本([官方安装文档](https://www.rabbitmq.com/install-rpm.html)),逐行执行下边的代码就可以安装完成erlang和RabbitMQ。

```

安装socat

# yum install socat

```

### 2、安装 erlang

rabbitMQ 是用 erlang 语言写的,所以需要先安装 erlang。

```

# curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash

# yum -y install erlang

测试查看版本:

# erl

```

### 3、安装 rabbitmq

```

# curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash

# yum -y install rabbitmq-server

测试查看版本:rabbitmqctl version

```

### 4.启动rabbitmq服务

~~~

启动:

# systemctl start rabbitmq-server

停止:

# rabbitmqctl stop_app

~~~

### 5.添加web管理插件

~~~

# rabbitmq-plugins enable rabbitmq_management

~~~



 

## 三、设置 rabbitMQ

### 1、开启 rabbitMQ web 页面访问

```

# rabbitmq-plugins enable rabbitmq_management

也可以直接将开启的插件配置写入配置文件

# echo "[rabbitmq_management]." > /usr/local/rabbitmq/etc/rabbitmq/enabled_plugins

```

### 2、启动 rabbitmq-server

```

# rabbitmq-server start    # 前台启动

  ##  ##

  ##  ##      RabbitMQ 3.7.7. Copyright (C) 2007-2018 Pivotal Software, Inc.

  ##########  Licensed under the MPL.  See http://www.rabbitmq.com/

  ######  ##

  ##########  Logs: /usr/local/rabbitmq/var/log/rabbitmq/rabbit@node03.log

                    /usr/local/rabbitmq/var/log/rabbitmq/rabbit@node03_upgrade.log

              Starting broker...

 completed with 3 plugins.    # 说明 web 管理插件已经启动


 

# rabbitmq-server  -detached    # 后台启动,不占用终端,推荐

Warning: PID file not written; -detached was passed.7

# rabbitmq-server start_app

# rabbitmq-server stop_app

默认有一个属于localhost的用户guest 密码guest,不支持远程访问,怎么解决?

1、使用rabbitmqctl来管理用户

./rabbitmqctl add_user rabbit rabbit ## 添加用户

./rabbitmqctl set_permissions rabbit -p / ".*" ".*" ".*"

./rabbitmqctl set_user_tags rabbit administrator

2、添加端口

# firewall-cmd --add-port=5672/tcp --permanent ## rabbitmq端口

# firewall-cmd --add-port=15672/tcp --permanent ## web管理界面端口

# firewall-cmd --reload ## 刷新放行列表

3、通过http://ip:15672

输入rabbit/rabbit 进行web管界面

```

### 3、 rabbitMQ 端口

**★这里有一个需要注意**,记得配置下hosts,在hosts里加上本机的名称。erlang进程需要host来进行连接,所以它会检查你的hosts配置。还需要设置下防火墙,三个端口要打开。**15672**是管理界面用的,**25672**是集群之间使用的端口,4369是erlang进程epmd用来做node连接的。

```

1.查看放行端口:

# firewall-cmd --list-port

2、添加端口

# firewall-cmd --add-port=5672/tcp --permanent ## rabbitmq端口

# firewall-cmd --add-port=15672/tcp --permanent ## web管理界面端口

# firewall-cmd --add-port=4369/tcp --permanent ##node通信端口

# firewall-cmd --reload ## 刷新放行列表

```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值