7

rabbitmq基础环境搭建及高可用集群环境搭建方法

 4 years ago
source link: https://www.wencst.com/archives/162
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

rabbitmq基础环境搭建及高可用集群环境搭建方法

作者: wencst 分类: linux,Uncategorized 发布时间: 2016-08-23 23:08 阅读: 3,480 次

服务器2台(2核4G内存20G硬盘),如果部署单点,则1台服务器即可。

1.服务器可以连通互联网

2.服务器之间可以相互连通

3.本文以操作系统为Centos6.5为例,其余操作系统请自行对照

4.拥有root用户权限

1.用root用户登录服务器

2.切换到home文件夹下,一般个人习惯将软件应用安装在/home文件夹下,可以用于其他文件夹

#cd /home

2.下载erlang的rpm文件,rabbitMQ是基于erlang语言开发的

#wget http://www.rabbitmq.com/releases/erlang/erlang-18.3-1.el6.x86_64.rpm

3.下载rabbitMQ的tar安装包

#wget   http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.3/rabbitmq-server-generic-unix-3.6.3.tar.xz

4.安装erlang语言

#yum install erlang-18.3-1.el6.x86_64.rpm

注意中间的红色y为需输入的内容

5.解压rabbitMQ的安装包

tar -xvf rabbitmq-server-generic-unix-3.6.3.tar.xz

6.然后将解压后的rabbitmq_server-3.6.3/sbin目录添加到环境变量中。在 /etc/profile 文件的最后添加上

#vim /etc/profile

export RABBITMQ_HOME="/home/rabbitmq_server-3.6.3"
export PATH="$RABBITMQ_HOME/sbin:$PATH"

7.配置端口放开

#vim /etc/sysconfig/iptables

#service iptables restart

8.两台服务器分别重启

#reboot

注意:单点部署至此就部署完毕(未包含启动服务),如果是集群部署,则需要同步两台服务器的/root/.erlang.cookie文件,所以如果是集群部署,则按集群部署操作。

1.首先在两台机器上按照《单点部署》章节分别部署

2.在两台机器中设置host,在文件最后增加

#vim /etc/hosts

192.168.8.67 rabbit1
192.168.8.69 rabbit2

分别是两台机器的IP和别名(下面分别以别名进行描述)

3.两台服务器分别重启

#reboot

4.登录rabbit1,生成rabbitMQ的配置文件rabbitmq.conf、rabbitmq-env.conf、enabled_plugins

#vim /home/rabbitmq_server-3.6.3/etc/rabbitmq/rabbitmq.conf

[
{rabbit,
[
{tcp_listeners, [5672]},
{num_tcp_acceptors, 10},
{log_levels, [{connection, info}, {channel, info},{federation, info},{mirroring, info}]},
{loopback_users, [] },
{default_vhost,       <<"/">>},
{default_user,        <<"guest">>},
{default_pass,        <<"guest">>},
{default_permissions, [<<".*">>, <<".*">>, <<".*">>]},
{default_user_tags, [administrator]},
%%              {cluster_nodes, {['[email protected]'], disc}},
{channel_max, 128}
]
}
].

#vim /home/rabbitmq_server-3.6.3/etc/rabbitmq/enabled_plugins

[rabbitmq_management].

5.启动rabbit1的服务,此时将会在/root文件夹下自动生成.erlang.cookie,此文件是erlang集群部署时所需文件,需要在两台服务器中保持一致的

#rabbitmq-server –detached

5.将rabbit1中的/root/.erlang.cookie、/home/rabbitmq_server-3.6.3/etc/rabbitmq/enabled_plugins、/home/rabbitmq_server-3.6.3/etc/rabbitmq/rabbitmq.conf三个文件拷贝到rabbit2中

#scp /root/.erlang.cookie root@rabbit2:/root

#scp /home/rabbitmq_server-3.6.3/etc/rabbitmq/rabbitmq.conf root@rabbit2:/home/rabbitmq_server-3.6.3/etc/rabbitmq/

#scp /home/rabbitmq_server-3.6.3/etc/rabbitmq/enabled_plugins root@rabbit2:/home/rabbitmq_server-3.6.3/etc/rabbitmq/

6.登录rabbit2,启动rabbit2服务

#rabbitmq-server –detached

7.配置rabbit2中挂载的rabbit1的集群中

#rabbitmqctl stop_app

#rabbitmqctl reset

#rabbitmqctl join_cluster rabbit@rabbit1 –ram

#rabbitmqctl start_app

注意:(内存节点;disc:磁盘节点);其中rabbit@rabbit1,rabbit是Master节点上的NODENAME,rabbit1是Master的hostname(hostname在主机的/etc/hosts中配置192.168.8.67 rabbit1,在集群部署第二步有说明),Master节点作为disc节点;也可以修改节点类型:

#rabbitmqctl change_cluster_node_type disc | ram

8.查询集群环境状态

#rabbitmqctl cluster_status

9.在rabbit1(主节点)执行下面命令,配置集群高可用状态

# rabbitmqctl set_policy -p / ha-allqueue “.” ‘{“ha-mode”:”all”,”ha-sync-mode”:”automatic”}’

至此集群部署完毕。

测试服务可用性,访问服务http://192.168.8.67:15672/,用户名密码分别为guest/guest,在rabbit.config文件中配置

如果文章对您有用,扫一下支付宝的红包,不胜感激!

欢迎加入QQ群进行技术交流:656897351(各种技术、招聘、兼职、培训欢迎加入)


Recommend

  • 23

    一、Linux集群概述1)、根据功能划分为两大类:高可用和负载均衡高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务2)、实现高可用的开源软件有:heartbeat、keepalivedheartbeat:有很多的BUG,有很长时间...

  • 10

    面向EDA(事件驱动架构)的方式来设计你的消息 AMQP routing key的设计 RabbitMQ cluster搭建 Mirror queue policy设置 两个不错的RabbitMQ plugin 大型应用插件(Sharding、Rederation) Queue镜像失败手动同...

  • 7

    分布式系统设计系列 -- 基本原理及高可用策略 浏览:2031次  出处信息 【分布式系统中...

  • 4
    • blog.csdn.net 4 years ago
    • Cache

    rabbitmq集群搭建

    一、集群环境 noderabbitmq磁盘节点node1rabbitmq内存节点node2rabbitmq内存节点 镜像为centos7.5.1804,大小最 1 CPU,2G RAM,20G DISK 二、基础环境部署 以下操作所有的节点都要做根据自己的环境做出...

  • 25

    rabbitmq集群搭建以及万级并发下的性能调优_lifetragedy的专栏-CSDN博客一、 服务器列表 ROLEOPERATING SYSTEMNAMESIZEAVAILABILITY SETPRIVATE IP ADDRESSDATA DISKSMOUNT  POINTEnvironment versionListen PortRabbitMQ01OpenLogic/CentOS/7.4ace...

  • 9

    从之前对ingress controller到现在了解架构和一些经验总结下,顺带给人科普少走弯路 需要看懂本文要具备一下知识点svc实现原理和会应用 知道反向代理原理,了解nginx和apache的vhost概念 了解svc的几种类型(Nodeport,clusterip,LB)

  • 7
    • my.oschina.net 3 years ago
    • Cache

    手把手教你搭建 RabbitMQ 集群

    @[toc] 单个的 RabbitMQ 肯定无法实现高可用,要想高可用,还得上集群。 今天松哥就来和大家聊一聊 RabbitMQ 集群的搭建。 1. 两种模式 说到集群,小伙伴们可能第一个问题是,如果我有一个 RabbitMQ 集群,那么是不是我的消息集群中...

  • 3

    本文转载自zhangguanzhang的博客。 从之前对ingress controller到现在了解架构和一些经验总结下,顺带给人科普少走弯路 需要看懂本文要具备...

  • 2
    • chegva.com 2 years ago
    • Cache

    MySQL数据库备份及高可用

    MySQL数据库备份及高可用 | CHEGVACHEGVA让我们面对现实 让我们忠于理想

  • 3

    00后数字生活探秘:女性及高线级城市特征明显 作者:

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK