7

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

 3 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(各种技术、招聘、兼职、培训欢迎加入)


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK