rabbitmq-3.5.7 集群安装配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rabbitmq-3.5.7 集群安装配置相关的知识,希望对你有一定的参考价值。

仅以此文记录哪些被踩过的坑...


试验环境:

  - CentOS6.7_x64

  - rabbitmq-3.5.7


一、安装rabbitmq

这里采用yum方式安装rabbitmq


1、依赖包和编译环境准备:

yum -y install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc glibc-devel gcc-c++ autoconf kernel-devel m4 ncurses-devel tk tc


2、安装 Erlang

RabbitMQ是基于Erlang的,所以首先必须配置Erlang环境。

yum -y install erlang

 

3、安装 rabbitmq-server

rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc  
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.7/rabbitmq-server-3.5.7-1.noarch.rpm
rpm -ivh rabbitmq-server-3.5.7-1.noarch.rpm

或者:

yum -y install rabbitmq-server-3.5.7-1.noarch.rpm


接下来的操作之前,请确认本机的selinux和iptables保持关闭状态,否则...


4、服务器主机配置:

请编辑主机的hosts文件,把主机名和ip地址对应关系写进来,rabbitmq的所有主机都要写,一个例子:

vim /etc/hosts

192.168.71.128  demo1
192.168.71.134  CentOS67-01


5、启动rabbitmq

在两台机器上面分别执行如下命令:

service rabbitmq-server start


6、编辑.erlang.cookie文件

确保所有rabbitmq集群节点上的文件.erlang.cookie 中的内容一致。

可以复制其中一个节点上面的内容,到其他各个节点上的所有.erlang.cookie 文件。


.erlang.cookie文件所在目录如下:

$HOME/.erlang.cookie
/var/lib/rabbitmq/.erlang.cookie


以上两个路径中的.erlang.cookie都要修改。


如果出现权限问题,请接着操作:

chmod 600 $HOME/.erlang.cookie
chmod 600 /var/lib/rabbitmq/.erlang.cookie


否则会出现如下错误[此处好多坑....]

ERROR: epmd error for host demo1: address (cannot connect to host/port)
* TCP connection succeeded but Erlang distribution failed
Error: unable to connect to nodes [[email protected]]: nodedown
Error: mnesia_unexpectedly_running
...

如此等等诸多问题。


7、选择一个rabbitmq主节点(CentOS67-01),启动rabbitmq

service rabbitmq-server start

注意:hsots文件修改后以及.erlang.cookie文件修改后,都要重启下rabbitmq(所有节点)

service rabbitmq-server restart


8、将节点demo1加入集群

[[email protected] ~]# rabbitmqctl stop_app
Stopping node [email protected] ...
[[email protected] ~]# rabbitmqctl reset
[[email protected] ~]# rabbitmqctl join_cluster --ram [email protected]        
Clustering node [email protected] with ‘[email protected]‘ ...
[[email protected] ~]# rabbitmqctl cluster_status                               
Cluster status of node [email protected] ...
[{nodes,[{disc,[‘[email protected]‘]},{ram,[[email protected]]}]}]


在主节点查看集群信息

[[email protected] ~]# rabbitmqctl cluster_status
Cluster status of node ‘[email protected]‘ ...
[{nodes,[{disc,[‘[email protected]‘]}]},
 {running_nodes,[‘[email protected]‘]},
 {cluster_name,<<"[email protected]">>},
 {partitions,[]}]


 

如果节点加入集群失败,则按如下顺序进行操作

[[email protected] ~]# rabbitmqctl stop_app
Stopping node [email protected] ...
[[email protected] ~]# rabbitmqctl reset
[[email protected] ~]# rabbitmqctl join_cluster --ram [email protected]


如果仍然失败,请检查上述第六步骤是否操作过了,确保各个节点的.erlang.cookie 文件内容一致。

另:确保服务器的防火墙和selinux关闭。


如果都检查过了还不行,请留言交流...



接下来整理rabbitmq集群使用以及集群节点的管理相关文档...


本文出自 “冷水泡茶” 博客,请务必保留此出处http://miaocbin.blog.51cto.com/689091/1854074

以上是关于rabbitmq-3.5.7 集群安装配置的主要内容,如果未能解决你的问题,请参考以下文章

#VSCode保存插件配置并使用 gist 管理代码片段

Hadoop集群(第3期)_VSFTP安装配置

带你从头进行RabbitMQ安装集群搭建镜像队列配置和代码验证

nginx.conf 忽略了 nginx-ingress 配置映射片段

vim代码片段插件ultisnips的使用

Hadoop集群(第3期)_VSFTP安装配置