2019-05-12

2019-05-12  本文已影响0人  小六的昵称已被使用

环境

注意:主机名不能有符号

第一步:安装宿主环境Erlang

Erlang Version 要求:https://www.rabbitmq.com/which-erlang.html#intro

Erlang官网:http://www.erlang.org/

Erlang下载:http://www.erlang.org/downloads

RabbitMQ提供Erlang安装源:https://github.com/rabbitmq/erlang-rpm

cat <<EOF >/etc/yum.repos.d/rabbitmq-erlang.repo
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/21/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1
EOF

yum install -y erlang

第二步:安装RabbitMQ

RabbitMQ 3.7.13下载:https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.13

1.下载RPM包并安装

yum install -y wget
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.13/rabbitmq-server-3.7.13-1.el7.noarch.rpm
yum install -y rabbitmq-server-3.7.13-1.el7.noarch.rpm

2.然后运行RabbitMQ实例

rabbitmq-server -detached

3.打开管理界面插件

## 1.打开管理界面插件
rabbitmq-plugins enable rabbitmq_management

## 2.添加账号:
rabbitmqctl add_user admin xiaoliu

## 3.添加 权限tag
rabbitmqctl set_user_tags admin administrator

第三步:配置集群

1.配置erlang.cookie(保证两个节点的此文件内容一致)

这个文件是erlang用来发现和互连的基础。我们需要做的很简单,将两个节点中的.erlang.cookie设置成一样的。这是erlang的约定,一样的cookie hash key他认为是合法和正确的连接。

cat /var/lib/rabbitmq/.erlang.cookie

vim /var/lib/rabbitmq/.erlang.cookie

2.配置hosts

Erlang会使用hosts文件里的配置去发现节点

echo '192.168.20.31 mqcluster01' >> /etc/hosts
echo '192.168.20.32 mqcluster02' >> /etc/hosts
echo '192.168.20.33 mqcluster03' >> /etc/hosts
echo '192.168.20.34 mqcluster04' >> /etc/hosts
cat /etc/hosts

3.选择节点centos181001加入到节点centos181002

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@mqcluster01
## 指定新加入节点为RAM类型
## rabbitmqctl join_cluster rabbit@centos181002 --ram
rabbitmqctl start_app

4.将centos181001更改为 RAM 类型

在RabbitMQ集群中的节点只有两种类型:内存节点/磁盘节点,单节点系统只运行磁盘类型的节点。而在集群中,可以选择配置部分节点为内存节点。

内存节点将所有的队列,交换器,绑定关系,用户,权限,和vhost的元数据信息保存在内存中。而磁盘节点将这些信息保存在磁盘中,但是内存节点的性能更高,为了保证集群的高可用性,必须保证集群中有两个以上的磁盘节点,来保证当有一个磁盘节点崩溃了,集群还能对外提供访问服务。

rabbitmqctl stop_app
rabbitmqctl change_cluster_node_type ram
rabbitmqctl start_app

附录:端口说明

15672   是管理界面用的
25672   是集群之间使用的端口
4369    是erlang进程epmd用来做node连接的
5672    AMQP端口

附录:常用命令:

#### 查看节点信息
rabbitmqctl status

## 查看集群信息
rabbitmqctl cluster_status

#### 用户相关操作
## 查看已有用户及用户角色
rabbitmqctl list_users
## 修改密码
rabbitmqctl change_password userName newPassword
## 删除用户
rabbitmqctl delete_user username

## 服务器启动与关闭
## 启动
rabbitmq-server -detached
## 关闭
rabbitmqctl stop
## 若单机有多个实例,则在rabbitmqctlh后加–n 指定名称

参考:https://www.cnblogs.com/wangiqngpei557/p/6158094.html

上一篇下一篇

猜你喜欢

热点阅读