RabbitMQ erlang.cookie解惑

在搭建RabbitMQ集群的时候往往会因为.erlang.cookie而报各种错误,网上查资料也会经常说.erlang.cookie会在$home下,或者在/var/lib/rabbitmq下,到底在rabbitmq启动的时候用的哪个cookie,cookie存放的路径在哪里,那么下面我们来仔细的查证一下。

.erlang.cookie是什么

erlang.cookie是erlang实现分布式的必要文件,erlang分布式的每个节点上要保持相同的.erlang.cookie文件,同时保证文件的权限是400。

.erlang.cookie存放路径

官方在介绍集群的文档中提到过.erlang.cookie一般会存在这两个地址:第一个是$home/.erlang.cookie;第二个地方就是/var/lib/rabbitmq/.erlang.cookie。

  • 如果我们使用解压缩方式安装部署的rabbitmq,那么这个文件会在${home}目录下,也就是$home/.erlang.cookie。
  • 如果我们使用rpm等安装包方式进行安装的,那么这个文件会在/var/lib/rabbitmq目录下。

查看.erlang.cookie真实存在目录

我们可以通过rabbitmq的启动日志查看其home目录是哪里,就可以知道.erlang.cookie存放在哪里,以及mnesia数据库信息存在哪里。

下面是我通过rpm包安装的rabbitmq的启动日志。

=INFO REPORT==== 21-Sep-2016::21:17:42 ===
node           : rabbit@he07
home dir       : /var/lib/rabbitmq
config file(s) : /etc/rabbitmq/rabbitmq.config (not found)
cookie hash    : qhOGp9TtH4Rn+BekiYXxIg==
log            : /var/log/rabbitmq/rabbit@he07.log
sasl log       : /var/log/rabbitmq/rabbit@he07-sasl.log
database dir   : /var/lib/rabbitmq/mnesia/rabbit@he07

下面是我通过解压缩方式安装的rabbitmq的启动日志。

=INFO REPORT==== 5-Nov-2016::14:59:01 ===
node           : rabbit@he10
home dir       : /root (我是用root用户启动的)
config file(s) : /home/rabbitmq_server-3.6.1/etc/rabbitmq/rabbitmq.config (not found)
cookie hash    : 063Gh+RyPjHRzyuSPf9wWA==
log            : /home/rabbitmq_server-3.6.1/var/log/rabbitmq/rabbit@he10.log
sasl log       : /home/rabbitmq_server-3.6.1/var/log/rabbitmq/rabbit@he10-sasl.log
database dir   : /home/rabbitmq_server-3.6.1/var/lib/rabbitmq/mnesia/rabbit@he10

自己做个备忘,希望对大家也有帮助。

posted on 2016-11-16 10:06  小棍同行  阅读(23745)  评论(1编辑  收藏  举报

导航