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

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

环境准备

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

要求:

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

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

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

4.拥有root用户权限

单点搭建

1.用root用户登录服务器

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

#cd /home

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

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

3.下载rabbitMQ的tar安装包

#wgethttp://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, {['rabbit@my.host.com'], 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(各种技术、招聘、兼职、培训欢迎加入)