CentOS6.7系统安装RabbitMQ3.7.8集群环境

一、安装Erlang

1、RabbitMQ3.7.8 对Erlang/OTP的版本要求

RabbitMQ3.7.8 要求Erlang/OTP版本:19.3.6.4  ~ 21.0.x

这个链接(http://www.rabbitmq.com/which-erlang.html)有详细说明.

对Erlang/OTP的版本要求

2、Erlang安装说明

Erlang安装说明:https://github.com/erlang/otp/blob/maint/HOWTO/INSTALL.md

Erlang是一种通用的面向并发的编程语言

2.1、yum安装构建Erlang/OTP所需要的工具  

yum install make gcc glibc-devel  m4 ncurses-devel autoconf openssl-devel 

yum install unixODBC unixODBC-devel

下面这些是要解包和构建Erlang/OTP所需要的工具,是必须的。

解包和构建Erlang/OTP所需要的工具

下面这些不是erlang必须的依赖项,如果下面依赖项不存在,在构建的时候就会自动跳过。

可选工具

2.2、安装erlang

下载http://erlang.org/download/otp_src_20.0.tar.gz

tar -xvf otp_src_20.0.tar.gz

cd otp_src_20.0

./configure --prefix=/usr/local/erlang --enable-hipe --enable-threads --enable-smp-support --enable-kernel-poll --without-javac

make && make install

ln -s /usr/local/erlang/bin/erl /usr/local/bin/

输入 erl验证是否安装成功。


二、安装rabbitmq

1、rabbitmq安装步骤

下载https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.8/rabbitmq-server-generic-unix-3.7.8.tar.xz

tar -xvf rabbitmq-server-generic-unix-3.7.8.tar -C /opt/

cd /opt

mv rabbitmq_server-3.7.8 rabbitmq_server

cd rabbitmq_server/

sbin/rabbitmq-plugins enable rabbitmq_management

后台启动rabbitmq-server命令./rabbitmq-server -detached

关闭rabbitmq-server命令:./rabbitmqctl stop

最后一定要把rabbitmq-server关闭,等全部配置调整完毕在启动。

2、调整rabbitmq配置信息

在/opt/rabbitmq_server/etc/rabbitmq下面创建文件rabbitmq.config和rabbitmq-env.conf,文件内容如下:

[root@node1 rabbitmq]# pwd

/opt/rabbitmq_server/etc/rabbitmq

[root@node1 rabbitmq]# more rabbitmq.config

[

{rabbit,

  [{loopback_users, []}]

}

].

此配置解决guest用户不能远程登录问题。

[root@node1 rabbitmq]# more rabbitmq-env.conf

LOG_BASE=/data/rabbitmq

MNESIA_BASE=/data/rabbitmq/mnesia

3、防火墙设置

-A INPUT -p tcp -m tcp --dport 5672 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 15672 -j ACCEPT

service iptables restart

service iptables save

4、集群设置

4.1、在192.168.0.119执行:

4.1.1、/etc/hosts设置

vi /etc/hosts

192.168.0.119 rabbitmq1

192.168.0.200  rabbitmq2

4.1.2、rabbitmq-env 设置

  在/opt/rabbitmq_server/sbin/rabbitmq-env文件的最前面添加:

NODENAME=rabbit@rabbitmq1

4.1.3、启动rabbitmq-server

后台启动rabbitmq-server命令./rabbitmq-server -detached

./rabbitmqctl add_user admin 123456

./rabbitmqctl set_user_tags admin administrator

4.2、在192.168.0.200执行:

4.2.1、修改.erlang.cookie

chmod 600 ~/.erlang.cookie

修改~/.erlang.cookie的内容,和192.168.0.119的~/.erlang.cookie内容保持一致。

4.2.2、/etc/hosts设置

vi /etc/hosts

192.168.0.119 rabbitmq1

192.168.0.200  rabbitmq2

4.2.3、 rabbitmq-env 设置

  在/opt/rabbitmq_server/sbin/rabbitmq-env文件的最前面添加:

NODENAME=rabbit@rabbitmq2

4.2.4、 启动rabbitmq-server

后台启动rabbitmq-server命令./rabbitmq-server -detached

./rabbitmqctl add_user admin 123456

./rabbitmqctl set_user_tags admin administrator

4.2.5、将rabbit@rabbitmq2加入集群

停止应用:./rabbitmqctl stop_app(rabbitmqctl stop 是停止服务)

清除所有队列:./rabbitmqctl reset

将rabbit@rabbitmq2加入集群:./rabbitmqctl join_cluster rabbit@rabbitmq2

重启应用:./rabbitmqctl start_app

查看集群状态:./rabbitmqctl cluster_status

5、登录Rabbitmq

http://192.168.0.119:15672/

用户名和密码:guest/guest

用户名和密码:admin/123456


http://192.168.0.200:15672/

用户名和密码:guest/guest

用户名和密码:admin/123456


6、HA 镜像模式队列设置

HA 镜像队列有一个很大的缺点就是:   系统的吞吐量会有所下降 。

6.1、通过RabbitMQ的web后台管理界面设置HA 镜像模式队列

HA 镜像模式队列设置

6.2、通过HA策略命令设置HA 镜像模式队列

HA策略设置命令模版:rabbitmqctl set_policy [-p Vhost] Name Pattern Definition [Priority]

指令参数详情
definition参数详情

推荐阅读更多精彩内容

  • 整体架构 部署步骤 基于 Docker 基本概念内存节点只保存状态到内存,例外情况是:持久的 queue 的内容将...
    Thomashan阅读 6,121评论 6 29
  • rabbitmq有3种模式,集群模式2种• 单机模式:即单机情况不做集群,就单独运行一个rabbitmq而已。...
    嗷大彬彬阅读 1,622评论 0 8
  • 0安装步骤 0.1安装erlang环境 安装依赖文件: yum install gcc glibc-devel m...
    java_飞阅读 2,159评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 79,004评论 12 120
  • 目录 安装erlang 安装RabbitMQ 安装插件 设置用户角色 F&Q 总结 安装erlang 下载rpm仓...
    BLACKMAMBAR阅读 865评论 1 2